From c1280fd9508046e0470957a6ca05e409bffb8f84 Mon Sep 17 00:00:00 2001 From: rude Date: Thu, 26 Sep 2013 00:57:51 +0200 Subject: [PATCH] Fix non-const stack allocated arrays in libmodplug. --- libs/libmodplug-0.8.8.4/src/load_abc.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/libs/libmodplug-0.8.8.4/src/load_abc.cpp b/libs/libmodplug-0.8.8.4/src/load_abc.cpp index 3ff2b036..83446fc1 100644 --- a/libs/libmodplug-0.8.8.4/src/load_abc.cpp +++ b/libs/libmodplug-0.8.8.4/src/load_abc.cpp @@ -2244,11 +2244,11 @@ static void abc_preprocess(ABCHANDLE *h, ABCMACRO *m) if( m->n ) { k = m->n - m->name; for( i=0; i<14; i++ ) { - char t[strlen(m->name) + 1]; + char *t = (char *)malloc(strlen(m->name) + 1); strcpy(t, m->name); t[k] = "CDEFGABcdefgab"[i]; l = strlen(m->subst); - char s[2 * l + 1]; + char *s = (char *)malloc(2 * l + 1); char *p = s; for( j=0; jsubst[j]; @@ -2265,6 +2265,8 @@ static void abc_preprocess(ABCHANDLE *h, ABCMACRO *m) } *p = '\0'; abc_substitute(h, t, s); + free(s); + free(t); } } else