aboutsummaryrefslogtreecommitdiff
path: root/Foundation/GTMRegex.m
diff options
context:
space:
mode:
Diffstat (limited to 'Foundation/GTMRegex.m')
-rw-r--r--Foundation/GTMRegex.m17
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, &regexData_, nil, 0);
- char buffer[len];
- // fetch the error
- if (len == regerror(errCode, &regexData_, buffer, len)) {
- NSString *generatedError = [NSString stringWithUTF8String:buffer];
- if (generatedError)
- result = generatedError;
+ size_t len = regerror(errCode, &regexData_, NULL, 0);
+ char *buffer = (char*)malloc(sizeof(char) * len);
+ if (buffer) {
+ // fetch the error
+ if (len == regerror(errCode, &regexData_, buffer, len)) {
+ NSString *generatedError = [NSString stringWithUTF8String:buffer];
+ if (generatedError)
+ result = generatedError;
+ }
+ free(buffer);
}
return result;
}