17 lines
637 B
Diff
17 lines
637 B
Diff
diff -pruN speex-1.2beta2.orig/libspeex/speex_header.c speex-1.2beta2/libspeex/speex_header.c
|
|
--- speex-1.2beta2.orig/libspeex/speex_header.c 2007-03-18 13:25:09.000000000 +0100
|
|
+++ speex-1.2beta2/libspeex/speex_header.c 2008-04-15 17:15:18.000000000 +0200
|
|
@@ -161,6 +161,13 @@ SpeexHeader *speex_packet_to_header(char
|
|
ENDIAN_SWITCH(le_header->frames_per_packet);
|
|
ENDIAN_SWITCH(le_header->extra_headers);
|
|
|
|
+ if (le_header->mode >= SPEEX_NB_MODES || le_header->mode < 0)
|
|
+ {
|
|
+ speex_warning ("Invalid mode specified in Speex header");
|
|
+ speex_free (le_header);
|
|
+ return NULL;
|
|
+ }
|
|
+
|
|
return le_header;
|
|
|
|
}
|