summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-01-05 15:04:02 +0000
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>2005-01-05 15:04:02 +0000
commit02add212a0f0e83dbc3ce667864f249a15852b04 (patch)
treee354d42305f2828566c7542004e940fd1f7616a7
parent287845087692f134141d2a12ab5681668c2620db (diff)
downloadgst-plugins-bad-02add212a0f0e83dbc3ce667864f249a15852b04.tar.gz
gst-plugins-bad-02add212a0f0e83dbc3ce667864f249a15852b04.tar.bz2
gst-plugins-bad-02add212a0f0e83dbc3ce667864f249a15852b04.zip
gst-libs/gst/resample/resample.c: Fix invalid memory access (#159211).
Original commit message from CVS: Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net> * gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16): Fix invalid memory access (#159211).
-rw-r--r--ChangeLog7
-rw-r--r--gst-libs/gst/resample/resample.c8
2 files changed, 13 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 622edaf5..8ff67529 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2005-01-05 Sebastien Cote <sc5@hermes.usherb.ca>
+
+ Reviewed by: Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * gst-libs/gst/resample/resample.c: (gst_resample_sinc_ft_s16):
+ Fix invalid memory access (#159211).
+
2005-01-05 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* examples/gstplay/player.c: (main):
diff --git a/gst-libs/gst/resample/resample.c b/gst-libs/gst/resample/resample.c
index cd899159..c73b1186 100644
--- a/gst-libs/gst/resample/resample.c
+++ b/gst-libs/gst/resample/resample.c
@@ -268,7 +268,8 @@ gst_resample_nearest_s16 (gst_resample_t * r)
SCALE_LOOP (o_ptr[0] = i_ptr[0], 1);
break;
case 2:
- SCALE_LOOP (o_ptr[0] = i_ptr[0]; o_ptr[1] = i_ptr[1], 2);
+ SCALE_LOOP (o_ptr[0] = i_ptr[0];
+ o_ptr[1] = i_ptr[1], 2);
break;
default:
{
@@ -545,6 +546,8 @@ gst_resample_sinc_ft_s16 (gst_resample_t * r)
o_ptr = (signed short *) r->o_buf;
center = r->o_start;
+ while (center - r->halftaps < -1 * r->filter_length)
+ center += 1.0;
start_x = center - r->halftaps;
start_f = floor (start_x);
start_x -= start_f;
@@ -627,7 +630,8 @@ gst_resample_nearest_float (gst_resample_t * r)
SCALE_LOOP (o_ptr[0] = i_ptr[0], 1);
break;
case 2:
- SCALE_LOOP (o_ptr[0] = i_ptr[0]; o_ptr[1] = i_ptr[1], 2);
+ SCALE_LOOP (o_ptr[0] = i_ptr[0];
+ o_ptr[1] = i_ptr[1], 2);
break;
default:
{