diff --git a/src/vuln-3/dc.c b/src/vuln-3/dc.c index 7e1fe572e752c553dc33c6fed7b891bcd5be9ce6..3a6da7594dd2f2707eb60b7f7437f1f3ad7067a7 100644 --- a/src/vuln-3/dc.c +++ b/src/vuln-3/dc.c @@ -74,13 +74,13 @@ static node_t *node_new(const char *varname, const value_t value){ assert(new != NULL && "new: malloc failed"); //new->varname = strdup(varname); - char varname_copy[5]; + /*---- vuln-3 ----*/ + static char varname_copy[1015] = {}; unsigned int count = 0; while (varname[count] != '\0') { varname_copy[count] = varname[count++]; } - - new->varname = varname_copy; + new->varname = strdup(varname_copy); assert(new->varname != NULL && "new: strdup varname failed"); new->value = value;