stricter base64 decoding

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@38602 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Richard Frith-MacDonald 2015-06-08 07:14:38 +00:00
parent a70eea58a8
commit d187e70974
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2015-06-08 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSData.m: be strict about '=' padding only occurring at end
of base64 encoded data.
2015-06-04 Richard Frith-Macdonald <rfm@gnu.org>
* Source/NSArray.m: Use NSUInteger rather than unsigned, use memory

View file

@ -598,7 +598,7 @@ failure:
result = (unsigned char*)malloc(declen);
dst = result;
while ((src != end) && *src != '\0')
while (src != end)
{
int c = *src++;
@ -624,6 +624,17 @@ failure:
}
else if (c == '=')
{
/* Only legal as padding at end of string */
while (src != end)
{
c = *src++;
if (c != '=')
{
free(result);
DESTROY(self);
return nil;
}
}
c = -1;
}
else if (options & NSDataBase64DecodingIgnoreUnknownCharacters)