Check for len<1 in opus_packet_parse_impl()
authorJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 7 Jul 2016 01:41:12 +0000 (21:41 -0400)
committerJean-Marc Valin <jmvalin@jmvalin.ca>
Thu, 7 Jul 2016 01:41:12 +0000 (21:41 -0400)
Rather than read invalid memory

src/opus.c

index e9ce93b..7eec8e8 100644 (file)
@@ -201,7 +201,7 @@ int opus_packet_parse_impl(const unsigned char *data, opus_int32 len,
    opus_int32 pad = 0;
    const unsigned char *data0 = data;
 
-   if (size==NULL)
+   if (size==NULL || len<1)
       return OPUS_BAD_ARG;
 
    framesize = opus_packet_get_samples_per_frame(data, 48000);