aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReyk Floeter <reyk@esdenera.com>2015-06-23 15:29:12 +0200
committerReyk Floeter <reyk@esdenera.com>2015-06-23 15:29:12 +0200
commitf9ef46fb267f6cf5ec187b068c993615040b7a7b (patch)
treef06195078745a28c9e9ba9d66ac5a80032735ae0
parentd0ff6c5d27b28a2a77e9411a929f500c79e647f8 (diff)
downloadhttpd-f9ef46fb267f6cf5ec187b068c993615040b7a7b.tar.gz
httpd-f9ef46fb267f6cf5ec187b068c993615040b7a7b.zip
Use strndup instead of calloc + memcpy.
From Leandro Pereira (@lafp on twitter)
-rw-r--r--httpd/patterns.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/httpd/patterns.c b/httpd/patterns.c
index 08c1e27..61f6ab8 100644
--- a/httpd/patterns.c
+++ b/httpd/patterns.c
@@ -692,14 +692,12 @@ str_match(const char *string, const char *pattern, struct str_match *m,
if (sm[i].sm_so > sm[i].sm_eo)
continue;
len = sm[i].sm_eo - sm[i].sm_so;
- if ((m->sm_match[i] = calloc(1,
- len + 1)) == NULL) {
+ if ((m->sm_match[i] = strndup(string +
+ sm[i].sm_so, len)) == NULL) {
*errstr = strerror(errno);
str_match_free(m);
return (-1);
}
- (void)memcpy(m->sm_match[i],
- string + sm[i].sm_so, len);
}
*errstr = NULL;