From d1425fb1442d9594285dd3abf4aa19b9946e95c9 Mon Sep 17 00:00:00 2001 From: Max Date: Thu, 18 Sep 2014 05:22:03 +0200 Subject: Fix #1983 (bz2 import breaks) * Avoid a malloc(4) / free() and let the compiler figure that out * sizeof(pointer) != sizeof(memory area pointed to by pointer) --- Source/SPFileHandle.m | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'Source/SPFileHandle.m') diff --git a/Source/SPFileHandle.m b/Source/SPFileHandle.m index 2f822c48..58350443 100644 --- a/Source/SPFileHandle.m +++ b/Source/SPFileHandle.m @@ -90,7 +90,7 @@ if (fileMode == O_RDONLY) { int i, c; - char *bzbuf = malloc(4); + char bzbuf[4]; const char *charFileMode = fileMode == O_WRONLY ? "wb" : "rb"; BZFILE *bzfile; @@ -112,12 +112,9 @@ // indicate the Bzip version. Finally, the 4th byte should be a number between 1 and 9 that indicates // the block size used. - BOOL isBzip2 = (sizeof(bzbuf) == 4) && - ((bzbuf[0] == 'B') && (bzbuf[1] == 'Z') && - ((bzbuf[2] == 'h') || (bzbuf[2] == '0')) && - ((bzbuf[3] >= 0x31) && (bzbuf[3] <= 0x39))); - - free(bzbuf); + BOOL isBzip2 = ((bzbuf[0] == 'B') && (bzbuf[1] == 'Z')) && + ((bzbuf[2] == 'h') || (bzbuf[2] == '0')) && + ((bzbuf[3] >= 0x31) && (bzbuf[3] <= 0x39)); if (isBzip2) bzfile = BZ2_bzopen(path, charFileMode); -- cgit v1.2.3