Преглед на файлове

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.
Rich Felker преди 6 години
родител
ревизия
09a805a623
променени са 1 файла, в които са добавени 5 реда и са изтрити 2 реда
  1. 5 2
      src/regex/glob.c

+ 5 - 2
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;
 }