Null Pointer Dereference and Index Out of Bounds Panics in moonfire-ffmpeg #2568
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Found two critical safety issues in moonfire-ffmpeg that can cause panics when handling invalid input data during fuzzing:
Null Pointer Dereference in VideoFrame::plane()
Location: src/avutil.rs:197
Panic Message:null pointer dereference occurred
Problematic Code:
Issue:The code directly dereferences self.stuff.data.offset(plane_off) without checking if self.stuff.data is null. When data is null, calling offset() and then dereferencing with * causes a null pointer dereference panic.
Index Out of Bounds in Streams::get()
Location: src/avformat.rs:443
Panic Message:index out of bounds: the len is 1 but the index is 3617292328856139833
Problematic Code:
Issue: The code directly indexes into self.0[i] without bounds checking. The fuzzer generated an extremely large index value (3617292328856139833) which is far beyond the actual array length (1), causing an index out of bounds panic.