diff --git a/lib/com_err/parse.y b/lib/com_err/parse.y index 698b7546c..98a3aa908 100644 --- a/lib/com_err/parse.y +++ b/lib/com_err/parse.y @@ -123,10 +123,8 @@ statement : INDEX NUMBER ec->next = NULL; ec->number = number; if(prefix && *prefix != '\0') { - ec->name = malloc(strlen(prefix) + strlen($2) + 1); - strcpy(ec->name, prefix); - strcat(ec->name, $2); - free($2); + asprintf (&ec->name, "%s%s", ec->name, $2); + free($2); } else ec->name = $2; ec->string = $4;