Browse Source

Fixed bug #47174 (base64_decode() interprets pad char in mid string as


			
			
				experimental/5.3-FPM
			
			
		
Ilia Alshanetsky 18 years ago
parent
commit
bd9ad75f41
  1. 9
      ext/standard/base64.c

9
ext/standard/base64.c

@ -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 */

Loading…
Cancel
Save