diff --git a/Source/Additions/GSMime.m b/Source/Additions/GSMime.m index 662069278..711d62a54 100644 --- a/Source/Additions/GSMime.m +++ b/Source/Additions/GSMime.m @@ -7169,6 +7169,7 @@ GS_PRIVATE_INTERNAL(GSMimeSMTPClient) if (sep != ' ' && sep != '-') { NSLog(@"Server made illegal response ... %@", s); + RELEASE(s); [self _shutdown: [self _response: @"bad format"]]; return; } diff --git a/Source/NSArchiver.m b/Source/NSArchiver.m index 1897c7289..f3e7eb0d0 100644 --- a/Source/NSArchiver.m +++ b/Source/NSArchiver.m @@ -281,20 +281,18 @@ static Class NSMutableDataMallocClass; } bytePtr = &bytes[sizeof(bytes) - byteCount]; } + + /* We normally store the count as a 32bit integer ... but if it's + * very big, we store 0xffffffff and then an additional 64bit value + * containing the actual count. + */ + if (count >= 0xffffffff) + { + c = 0xffffffff; + } else { - /* We normally store the count as a 32bit integer ... but if it's - * very big, we store 0xffffffff and then an additional 64bit value - * containing the actual count. - */ - if (count >= 0xffffffff) - { - c = 0xffffffff; - } - else - { - c = count; - } + c = count; } switch (*type)