|
|
|
@ -151,7 +151,14 @@ PHPAPI unsigned char *php_base64_decode_ex(const unsigned char *str, int length, |
|
|
|
|
|
|
|
/* run through the whole string, converting as we go */ |
|
|
|
while ((ch = *current++) != '\0' && length-- > 0) { |
|
|
|
if (ch == base64_pad) break; |
|
|
|
if (ch == base64_pad) { |
|
|
|
if (*current != '=' && (i % 4) == 1) { |
|
|
|
efree(result); |
|
|
|
return NULL; |
|
|
|
} |
|
|
|
i++; |
|
|
|
continue; |
|
|
|
} |
|
|
|
|
|
|
|
ch = base64_reverse_table[ch]; |
|
|
|
if ((!strict && ch < 0) || ch == -1) { /* a space or some other separator character, we simply skip over */ |
|
|
|
|