diff options
author | Rich Felker <dalias@aerifal.cx> | 2018-10-11 14:27:15 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2018-10-11 14:27:15 -0400 |
commit | 09a805a62307307230a31125425d0c2b0b6f332e (patch) | |
tree | 7d5d333ca32f863be3cff411957b07578efa3ac7 /src | |
parent | e2552581bc004f7dc5ee9ac220cad8abeae19bba (diff) | |
download | musl-09a805a62307307230a31125425d0c2b0b6f332e.tar.gz musl-09a805a62307307230a31125425d0c2b0b6f332e.tar.xz musl-09a805a62307307230a31125425d0c2b0b6f332e.zip |
fix redundant computations of strlen in glob append function
len was already passed as an argument, so don't use strcat, and use memcpy instead of strcpy.
Diffstat (limited to 'src')
-rw-r--r-- | src/regex/glob.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/regex/glob.c b/src/regex/glob.c index 98636295..3e1b034e 100644 --- a/src/regex/glob.c +++ b/src/regex/glob.c @@ -41,8 +41,11 @@ static int append(struct match **tail, const char *name, size_t len, int mark) if (!new) return -1; (*tail)->next = new; new->next = NULL; - strcpy(new->name, name); - if (mark) strcat(new->name, "/"); + memcpy(new->name, name, len+1); + if (mark) { + new->name[len] = '/'; + new->name[len+1] = 0; + } *tail = new; return 0; } |