Commit 603b409c authored by Andy Wingo Wingo's avatar Andy Wingo Wingo
Browse files

ext/faad/gstfaad.c (gst_faad_chain): Fix a bad format argument, and a potential int overflow.

Original commit message from CVS:
2008-03-18  Andy Wingo  <wingo@pobox.com>

* ext/faad/gstfaad.c (gst_faad_chain): Fix a bad format argument,
and a potential int overflow.

* ext/faad/gstfaad.h: Include <neaacdec.h> if faad is neaac.
Avoids a #warning about an ignored #pragma.
parent 03615558
2008-03-18 Andy Wingo <wingo@pobox.com>
* ext/faad/gstfaad.c (gst_faad_chain): Fix a bad format argument,
and a potential int overflow.
* ext/faad/gstfaad.h: Include <neaacdec.h> if faad is neaac.
Avoids a #warning about an ignored #pragma.
2008-03-17 Zaheer Abbas Merali <zaheerabbas at merali dot org>
 
* examples/switch/switcher.c:
......
......@@ -1337,12 +1337,20 @@ gst_faad_chain (GstPad * pad, GstBuffer * buffer)
}
}
if (info.samples > G_MAXUINT / faad->bps) {
/* C's lovely propensity for int overflow.. */
GST_ELEMENT_ERROR (faad, STREAM, DECODE, (NULL),
("Output buffer too large"));
ret = GST_FLOW_ERROR;
goto out;
}
/* play decoded data */
if (info.samples > 0) {
guint bufsize = info.samples * faad->bps;
guint num_samples = info.samples / faad->channels;
GST_DEBUG_OBJECT (faad, "decoded %d samples", info.samples);
GST_DEBUG_OBJECT (faad, "decoded %d samples", (guint) info.samples);
/* note: info.samples is total samples, not per channel */
ret =
......
......@@ -21,7 +21,11 @@
#define __GST_FAAD_H__
#include <gst/gst.h>
#ifdef FAAD_IS_NEAAC
#include <neaacdec.h>
#else
#include <faad.h>
#endif
G_BEGIN_DECLS
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment