Error handling
This commit is contained in:
parent
a7d31b7b15
commit
71877da4eb
1 changed files with 4 additions and 3 deletions
|
@ -149,7 +149,7 @@ static int opus_decode_frame(OpusDecoder *st, const unsigned char *data,
|
||||||
if (audiosize > frame_size)
|
if (audiosize > frame_size)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "PCM buffer too small: %d vs %d (mode = %d)\n", audiosize, frame_size, mode);
|
fprintf(stderr, "PCM buffer too small: %d vs %d (mode = %d)\n", audiosize, frame_size, mode);
|
||||||
return -1;
|
return OPUS_BAD_ARG;
|
||||||
} else {
|
} else {
|
||||||
frame_size = audiosize;
|
frame_size = audiosize;
|
||||||
}
|
}
|
||||||
|
@ -315,7 +315,7 @@ static int opus_decode_frame(OpusDecoder *st, const unsigned char *data,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
int parse_size(const unsigned char *data, int len, short *size)
|
static int parse_size(const unsigned char *data, int len, short *size)
|
||||||
{
|
{
|
||||||
if (len<1)
|
if (len<1)
|
||||||
{
|
{
|
||||||
|
@ -411,7 +411,8 @@ int opus_decode(OpusDecoder *st, const unsigned char *data,
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
/* FIXME: Check if the number of samples fits in the output buffer */
|
if (count*st->frame_size > frame_size)
|
||||||
|
return OPUS_BAD_ARG;
|
||||||
nb_samples=0;
|
nb_samples=0;
|
||||||
for (i=0;i<count;i++)
|
for (i=0;i<count;i++)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue