summaryrefslogtreecommitdiff
path: root/media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch
diff options
context:
space:
mode:
Diffstat (limited to 'media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch')
-rw-r--r--media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch22
1 files changed, 22 insertions, 0 deletions
diff --git a/media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch b/media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch
new file mode 100644
index 000000000000..22952a5ebba1
--- /dev/null
+++ b/media-libs/libtimidity/files/libtimidity-0.1.0-newlen-overflow.patch
@@ -0,0 +1,22 @@
+diff -Naur libtimidity-0.1.0/src/resample.c libtimidity-0.1.0-r1/src/resample.c
+--- libtimidity-0.1.0/src/resample.c 2004-11-21 23:02:53.000000000 +0100
++++ libtimidity-0.1.0-r1/src/resample.c 2008-02-24 18:46:36.000000000 +0100
+@@ -545,7 +545,8 @@
+ void pre_resample(MidSong *song, MidSample *sp)
+ {
+ double a, xdiff;
+- sint32 incr, ofs, newlen, count;
++ sint32 incr, ofs, count;
++ unsigned int newlen;
+ sint16 *newdata, *dest, *src = (sint16 *) sp->data;
+ sint16 v1, v2, v3, v4, *vptr;
+ #ifdef DEBUG_CHATTER
+@@ -561,7 +562,7 @@
+
+ a = ((double) (sp->sample_rate) * freq_table[(int) (sp->note_to_use)]) /
+ ((double) (sp->root_freq) * song->rate);
+- newlen = (sint32)(sp->data_length / a);
++ newlen = (unsigned int)(sp->data_length / a);
+ dest = newdata = safe_malloc(newlen >> (FRACTION_BITS - 1));
+
+ count = (newlen >> FRACTION_BITS) - 1;