X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9cf58b6979fdccf6fb9e32858d0b0cd357e75b72..9967de02678d23a149183bc5908c7fadcd4f76eb:/src/common/base64.cpp diff --git a/src/common/base64.cpp b/src/common/base64.cpp index eeafaa40f4..2832bffb3b 100644 --- a/src/common/base64.cpp +++ b/src/common/base64.cpp @@ -132,7 +132,7 @@ wxBase64Decode(void *dst_, size_t dstLen, // force the loop to stop and an error to be returned n = -1; - srcLen = 0; + srcLen = 1; break; case PAD: @@ -156,7 +156,7 @@ wxBase64Decode(void *dst_, size_t dstLen, { // force the loop terminate with an error n = -1; - srcLen = 0; + srcLen = 1; } break; @@ -165,7 +165,7 @@ wxBase64Decode(void *dst_, size_t dstLen, { // nothing is allowed after the end so provoke error return n = -1; - srcLen = 0; + srcLen = 1; break; } @@ -194,7 +194,11 @@ wxBase64Decode(void *dst_, size_t dstLen, if ( n ) { if ( posErr ) - *posErr = p - src; + { + // notice that the error was on a previous position as we did one + // extra "p++" in the loop line after it + *posErr = p - src - 1; + } return wxCONV_FAILED; }