libbluray | branch: master | hpi1 <[email protected]> | Sun Dec 4 12:13:37 2011 +0200| [9bb8beb9333e47525b9d6c754d865acf948d0862] | committer: hpi1
_decode_rle(): always allocate at least one element. Fixes segfault with "Earth" BD. > http://git.videolan.org/gitweb.cgi/libbluray.git/?a=commit;h=9bb8beb9333e47525b9d6c754d865acf948d0862 --- src/libbluray/decoders/pg_decode.c | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/src/libbluray/decoders/pg_decode.c b/src/libbluray/decoders/pg_decode.c index 2cafa16..91ca4a6 100644 --- a/src/libbluray/decoders/pg_decode.c +++ b/src/libbluray/decoders/pg_decode.c @@ -112,6 +112,9 @@ static int _decode_rle(BITBUFFER *bb, BD_PG_OBJECT *p) int num_rle = 0; int rle_size = p->width * p->height / 4; + if (rle_size < 1) + rle_size = 1; + p->img = realloc(p->img, rle_size * sizeof(BD_PG_RLE_ELEM)); while (!bb_eof(bb)) { _______________________________________________ libbluray-devel mailing list [email protected] http://mailman.videolan.org/listinfo/libbluray-devel
