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