X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/1d08c1e0c0de0d321883ece1c36bce851fe893c7..bfc6b93af:/sbr/base64.c?ds=sidebyside diff --git a/sbr/base64.c b/sbr/base64.c index 79d7aa94..6a30e2f0 100644 --- a/sbr/base64.c +++ b/sbr/base64.c @@ -259,7 +259,7 @@ decodeBase64 (const char *encoded, unsigned char **decoded, size_t *len, } if (skip || (((unsigned char) *cp) & 0x80) || (value = b642nib[((unsigned char) *cp) & 0x7f]) > 0x3f) { - advise (NULL, "invalid BASE64 encoding in %s", encoded); + advise (NULL, "invalid BASE64 encoding in %s", cp); charstring_free (decoded_c); *decoded = NULL; @@ -307,7 +307,12 @@ test_end: } if (! self_delimiting && bitno != 18) { - advise (NULL, "premature ending (bitno %d) in %s", bitno, encoded); + int i; + + /* Show some context for the error. */ + for (i = 0; i < 20 && cp > encoded; ++i, --cp) {} + advise (NULL, "premature ending (bitno %d) near %s", bitno, + cp ? cp : encoded); charstring_free (decoded_c); *decoded = NULL;