mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-17 03:35:21 +00:00
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.
This commit is contained in:
parent
0361555869
commit
603b409c33
3 changed files with 21 additions and 1 deletions
|
@ -1,3 +1,11 @@
|
|||
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
|
||||
|
||||
|
|
Loading…
Reference in a new issue