[gst-cvs] gst-plugins-good: audioiirfilter: Fix possible NULL pointer dereference

Sebastian Dröge slomo at kemper.freedesktop.org
Wed Jun 16 10:30:49 PDT 2010


Module: gst-plugins-good
Branch: master
Commit: 711e0cc90bdd3f0ef9e32e6c0b826f6184483afc
URL:    http://cgit.freedesktop.org/gstreamer/gst-plugins-good/commit/?id=711e0cc90bdd3f0ef9e32e6c0b826f6184483afc

Author: Sebastian Dröge <sebastian.droege at collabora.co.uk>
Date:   Wed Jun 16 19:24:54 2010 +0200

audioiirfilter: Fix possible NULL pointer dereference

---

 gst/audiofx/audioiirfilter.c |    8 +++-----
 1 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/gst/audiofx/audioiirfilter.c b/gst/audiofx/audioiirfilter.c
index 1f06312..bac16b2 100644
--- a/gst/audiofx/audioiirfilter.c
+++ b/gst/audiofx/audioiirfilter.c
@@ -161,19 +161,17 @@ gst_audio_iir_filter_update_coefficients (GstAudioIIRFilter * self,
     self->b = vb;
   }
 
-  if (self->a && self->a->n_values > 0)
+  if (self->a && self->a->n_values > 0) {
     a = g_new (gdouble, self->a->n_values);
-  if (self->b && self->b->n_values > 0)
-    b = g_new (gdouble, self->b->n_values);
 
-  if (self->a) {
     for (i = 0; i < self->a->n_values; i++) {
       GValue *v = g_value_array_get_nth (self->a, i);
       a[i] = g_value_get_double (v);
     }
   }
 
-  if (self->b) {
+  if (self->b && self->b->n_values > 0) {
+    b = g_new (gdouble, self->b->n_values);
     for (i = 0; i < self->b->n_values; i++) {
       GValue *v = g_value_array_get_nth (self->b, i);
       b[i] = g_value_get_double (v);





More information about the Gstreamer-commits mailing list