From aa4b9b16fbd07bf0e24f5b5d5437da376fd6ebb8 Mon Sep 17 00:00:00 2001 From: "roberto@oneiric64" Date: Fri, 10 Feb 2012 16:14:44 +0100 Subject: [PATCH] fixed magic_table handling --- utils.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/utils.c b/utils.c index 962847e0..544eb175 100644 --- a/utils.c +++ b/utils.c @@ -2443,11 +2443,11 @@ char *magic_sub(char *buffer, int len, int *size, char *magic_table[]) { char *old_magic_buf; for (i = 0; i < len; i++) { - if (buffer[i] == '%' && (i + 1) < len && magic_table[(int) buffer[i + 1]]) { + if (buffer[i] == '%' && (i + 1) < len && magic_table[(unsigned char) buffer[i + 1]]) { old_magic_buf = magic_buf; - magic_buf = uwsgi_concat3n(old_magic_buf, magic_len, magic_table[(int) buffer[i + 1]], strlen(magic_table[(int) buffer[i + 1]]), buffer + i + 2, len - i); + magic_buf = uwsgi_concat3n(old_magic_buf, magic_len, magic_table[(unsigned char) buffer[i + 1]], strlen(magic_table[(unsigned char) buffer[i + 1]]), buffer + i + 2, len - i); free(old_magic_buf); - magic_len += strlen(magic_table[(int) buffer[i + 1]]); + magic_len += strlen(magic_table[(unsigned char) buffer[i + 1]]); magic_ptr = magic_buf + magic_len; i++; }