freebsd-ports/net-p2p/bnbt/files/patch-base64.cpp

27 lines
1.4 KiB
C++
Raw Normal View History

--- base64.cpp.orig 2017-02-01 19:29:59 UTC
+++ base64.cpp
@@ -114,6 +114,7 @@ uchar pBase64[] = {
char *b64decode(const char *s)
{
int l = strlen(s); // Get length of Base64 string.
+ const char *p; // Separator position
char *b; // Decoding buffer pointers.
uchar c = 0; // Character to decode.
int x = 0; // General purpose integers.
@@ -126,12 +127,12 @@ char *b64decode(const char *s)
if (l % 4) // If it's not modulo 4, then it...
return b64isnot(NULL); // ...can't be a Base64 string.
- if ((b = strchr(s, pPad[0])) != NULL) // Only one, two or three equal...
+ if ((p = strchr(s, pPad[0])) != NULL) // Only one, two or three equal...
{ // ...'=' signs are allowed at...
- if ((b - s) < (l - 3)) // ...the end of the Base64 string.
+ if ((p - s) < (l - 3)) // ...the end of the Base64 string.
return b64isnot(NULL); // Any other equal '=' signs are...
else // ...invalid.
- if (strncmp(b, (const char *) pPad + 3 - (s + l - b), s + l - b))
+ if (strncmp(p, (const char *) pPad + 3 - (s + l - p), s + l - p))
return b64isnot(NULL);
}