diff --git a/ChangeLog b/ChangeLog index 5caef53ae..4f1b91fe6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2009-08-11 Richard Frith-Macdonald + + * Source/NSData.m: Fix memory leak introduced with GC changes. + * Source/Additions/GSMime.m: Use memmove() as fix for bug #27224 + 2009-08-10 Richard Frith-Macdonald * Source/NSData.m: Fix memory leak introduced with GC changes. diff --git a/Source/Additions/GSMime.m b/Source/Additions/GSMime.m index dafb54e29..60b945761 100644 --- a/Source/Additions/GSMime.m +++ b/Source/Additions/GSMime.m @@ -2679,7 +2679,7 @@ NSDebugMLLog(@"GSMime", @"Header parsed - %@", info); */ lineStart += bLength; sectionStart = lineStart; - memcpy(bytes, &bytes[sectionStart], dataEnd - sectionStart); + memmove(bytes, &bytes[sectionStart], dataEnd - sectionStart); dataEnd -= sectionStart; [data setLength: dataEnd]; bytes = (unsigned char*)[data mutableBytes]; @@ -2772,7 +2772,7 @@ NSDebugMLLog(@"GSMime", @"Header parsed - %@", info); lengthRemaining = dataEnd - input; if (lengthRemaining > 0) { - memcpy(bytes, &bytes[input], lengthRemaining); + memmove(bytes, &bytes[input], lengthRemaining); } dataEnd = lengthRemaining; [data setLength: lengthRemaining];