diff options
| author | Stanislav Malyshev <stas@php.net> | 2019-01-01 17:15:20 -0800 |
|---|---|---|
| committer | Stanislav Malyshev <stas@php.net> | 2019-01-06 11:38:46 -0800 |
| commit | 4feb9e66ff9636ad44bc23a91b7ebd37d83ddf1d (patch) | |
| tree | ede1c3a381e11a0d320a7c17798edb444568f679 /ext/xmlrpc/libxmlrpc | |
| parent | c6e34d91b88638966662caac62c4d0e90538e317 (diff) | |
| download | php-git-4feb9e66ff9636ad44bc23a91b7ebd37d83ddf1d.tar.gz | |
Fix bug #77380 (Global out of bounds read in xmlrpc base64 code)
Diffstat (limited to 'ext/xmlrpc/libxmlrpc')
| -rw-r--r-- | ext/xmlrpc/libxmlrpc/base64.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ext/xmlrpc/libxmlrpc/base64.c b/ext/xmlrpc/libxmlrpc/base64.c index 5ebdf31f7a..a4fa19327b 100644 --- a/ext/xmlrpc/libxmlrpc/base64.c +++ b/ext/xmlrpc/libxmlrpc/base64.c @@ -77,7 +77,7 @@ void base64_encode_xmlrpc(struct buffer_st *b, const char *source, int length) while (!hiteof) { unsigned char igroup[3], ogroup[4]; - int c, n; + int c, n; igroup[0] = igroup[1] = igroup[2] = 0; for (n = 0; n < 3; n++) { @@ -169,7 +169,7 @@ void base64_decode_xmlrpc(struct buffer_st *bfr, const char *source, int length) return; } - if (dtable[c] & 0x80) { + if (dtable[(unsigned char)c] & 0x80) { /* fprintf(stderr, "Offset %i length %i\n", offset, length); fprintf(stderr, "character '%c:%x:%c' in input file.\n", c, c, dtable[c]); |
