From e1fdf30541d064879f2ef544adb15a04d611d7be Mon Sep 17 00:00:00 2001 From: pfg Date: Mon, 9 May 2016 18:53:46 +0000 Subject: Simplify redundant malloc'ing in sed -e. When encountering an -e argument, sed currently mallocs a string to COPY the optarg -- with '\n' appended. The appendage does not seem necessary -- indeed, the same call to add_compunit processing the sole command (given without -e) passes the *argv verbatim: without making a copy, and without appending newline. This matches what is done in other BSDs. Submitted by: Mikhail T. PR: 195929 MFC after: 2 weeks --- usr.bin/sed/main.c | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/usr.bin/sed/main.c b/usr.bin/sed/main.c index 36a3299..a5ff462 100644 --- a/usr.bin/sed/main.c +++ b/usr.bin/sed/main.c @@ -125,7 +125,6 @@ int main(int argc, char *argv[]) { int c, fflag; - char *temp_arg; (void) setlocale(LC_ALL, ""); @@ -147,11 +146,7 @@ main(int argc, char *argv[]) break; case 'e': eflag = 1; - if ((temp_arg = malloc(strlen(optarg) + 2)) == NULL) - err(1, "malloc"); - strcpy(temp_arg, optarg); - strcat(temp_arg, "\n"); - add_compunit(CU_STRING, temp_arg); + add_compunit(CU_STRING, optarg); break; case 'f': fflag = 1; -- cgit v1.1