diff options
| author | Ilia Alshanetsky <iliaa@php.net> | 2009-01-25 18:27:39 +0000 |
|---|---|---|
| committer | Ilia Alshanetsky <iliaa@php.net> | 2009-01-25 18:27:39 +0000 |
| commit | 38969d726bf6ed1d082b85bb6547f441f25b0b07 (patch) | |
| tree | 24ce13993924d9ef87928aff413dd04b158b51c7 | |
| parent | 49b4865adb3adae4df63625813690e75ce86941a (diff) | |
| download | php-git-38969d726bf6ed1d082b85bb6547f441f25b0b07.tar.gz | |
MFB: Improved fix for bug #47174 & added a test
| -rw-r--r-- | ext/standard/base64.c | 1 | ||||
| -rw-r--r-- | ext/standard/tests/url/bug47174.phpt | 18 |
2 files changed, 18 insertions, 1 deletions
diff --git a/ext/standard/base64.c b/ext/standard/base64.c index b163ce4849..b4a291461d 100644 --- a/ext/standard/base64.c +++ b/ext/standard/base64.c @@ -158,7 +158,6 @@ PHPAPI unsigned char *php_base64_decode_ex(const unsigned char *str, int length, efree(result); return NULL; } - i++; continue; } diff --git a/ext/standard/tests/url/bug47174.phpt b/ext/standard/tests/url/bug47174.phpt new file mode 100644 index 0000000000..6d08063253 --- /dev/null +++ b/ext/standard/tests/url/bug47174.phpt @@ -0,0 +1,18 @@ +--TEST-- +Bug #47174 (base64_decode() interprets pad char in mid string as terminator) +--FILE-- +<?php +if (base64_decode("dGVzdA==") == base64_decode("dGVzdA==CRAP")) { + echo "Same octect data - Signature Valid\n"; +} else { + echo "Invalid Signature\n"; +} + +$in = base64_encode("foo") . '==' . base64_encode("bar"); +var_dump($in, base64_decode($in)); + +?> +--EXPECT-- +Invalid Signature +string(10) "Zm9v==YmFy" +string(6) "foobar" |
