Restrict unsigned integer overflow in MPEG4Writer writeEdtsBox
Validate that the timestamp of the buffer input to the writer
is not negative
Test: ./mpeg4_writer_fuzzer
Bug: 182649641
Change-Id: I185a970edde6df0b1c0a74d485f8a7335cfaa772
diff --git a/media/libstagefright/include/media/stagefright/MPEG4Writer.h b/media/libstagefright/include/media/stagefright/MPEG4Writer.h
index 054a4b8..18237e5 100644
--- a/media/libstagefright/include/media/stagefright/MPEG4Writer.h
+++ b/media/libstagefright/include/media/stagefright/MPEG4Writer.h
@@ -77,6 +77,9 @@
virtual void setStartTimeOffsetMs(int ms) { mStartTimeOffsetMs = ms; }
virtual int32_t getStartTimeOffsetMs() const { return mStartTimeOffsetMs; }
virtual status_t setNextFd(int fd);
+ bool isSampleMetadataValid([[maybe_unused]] size_t trackIndex, int64_t timeUs) override {
+ return timeUs >= 0;
+ }
protected:
virtual ~MPEG4Writer();