mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 08:41:03 +00:00
Check for bad data
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@35284 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
c456ffd519
commit
de29619531
2 changed files with 15 additions and 0 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2012-07-11 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
* Source/Additions/GSMime.m: Don't accept documents where header lines
|
||||||
|
contain bytes which can't be converted to a string.
|
||||||
|
|
||||||
2012-07-11 Richard Frith-Macdonald <rfm@gnu.org>
|
2012-07-11 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
* Source/NSKeyedArchiver.m:
|
* Source/NSKeyedArchiver.m:
|
||||||
|
|
|
@ -1538,6 +1538,10 @@ wordData(NSString *word)
|
||||||
[data appendData: d];
|
[data appendData: d];
|
||||||
bytes = (unsigned char*)[data bytes];
|
bytes = (unsigned char*)[data bytes];
|
||||||
dataEnd = [data length];
|
dataEnd = [data length];
|
||||||
|
/* We need more data, so we have to return YES
|
||||||
|
* to ask our caller to provide it.
|
||||||
|
*/
|
||||||
|
return YES;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -2917,6 +2921,12 @@ unfold(const unsigned char *src, const unsigned char *end, BOOL *folded)
|
||||||
encoding: NSUTF8StringEncoding];
|
encoding: NSUTF8StringEncoding];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (nil == s)
|
||||||
|
{
|
||||||
|
NSLog(@"Bad header ... illegal characters");
|
||||||
|
flags.hadErrors = 1;
|
||||||
|
return nil;
|
||||||
|
}
|
||||||
[hdr appendString: s];
|
[hdr appendString: s];
|
||||||
RELEASE(s);
|
RELEASE(s);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue