libudfread | branch: master | Petri Hintukainen <[email protected]> | Thu Jun 22 16:17:42 2017 +0300| [0cb2105dc87fcaa6363464e4c31ccd083a3fd20d] | committer: Petri Hintukainen
Check for overflow > http://git.videolan.org/gitweb.cgi/libudfread.git/?a=commit;h=0cb2105dc87fcaa6363464e4c31ccd083a3fd20d --- src/udfread.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/udfread.c b/src/udfread.c index 3e58a45..999e140 100644 --- a/src/udfread.c +++ b/src/udfread.c @@ -908,6 +908,10 @@ static int _parse_dir(const uint8_t *data, uint32_t length, struct udf_dir *dir) while (p < end - 16) { size_t used; + if (dir->num_entries == UINT32_MAX) { + return 0; + } + tag_id = decode_descriptor_tag(p); if (tag_id != ECMA_FileIdentifierDescriptor) { udf_error("unexpected tag %d in directory file\n", tag_id); _______________________________________________ libbluray-devel mailing list [email protected] https://mailman.videolan.org/listinfo/libbluray-devel
