diff options
Diffstat (limited to 'Foundation/GTMRegex.m')
-rw-r--r-- | Foundation/GTMRegex.m | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/Foundation/GTMRegex.m b/Foundation/GTMRegex.m index 33c5b25..71d5050 100644 --- a/Foundation/GTMRegex.m +++ b/Foundation/GTMRegex.m @@ -444,13 +444,16 @@ static NSString *const kReplacementPattern = NSString *result = @"internal error"; // size the buffer we need - size_t len = regerror(errCode, ®exData_, nil, 0); - char buffer[len]; - // fetch the error - if (len == regerror(errCode, ®exData_, buffer, len)) { - NSString *generatedError = [NSString stringWithUTF8String:buffer]; - if (generatedError) - result = generatedError; + size_t len = regerror(errCode, ®exData_, NULL, 0); + char *buffer = (char*)malloc(sizeof(char) * len); + if (buffer) { + // fetch the error + if (len == regerror(errCode, ®exData_, buffer, len)) { + NSString *generatedError = [NSString stringWithUTF8String:buffer]; + if (generatedError) + result = generatedError; + } + free(buffer); } return result; } |