diff --git a/poc/vuln-3.poc b/poc/vuln-3.poc index ab75426a5954d8d9db5ec36665873091c648d348..a24864b9cdb2e07c31c1a7c5ae143292a35feac9 100644 --- a/poc/vuln-3.poc +++ b/poc/vuln-3.poc @@ -1,4 +1,2 @@ push 10 -store value -load value -store value \ No newline at end of file +* \ No newline at end of file diff --git a/src/vuln-3/dc.c b/src/vuln-3/dc.c index 6f4facd19fcab6101011c861e787049b8e356f02..4231e124a5636b953f4caed01275d87a6d17461d 100644 --- a/src/vuln-3/dc.c +++ b/src/vuln-3/dc.c @@ -84,8 +84,8 @@ static node_t *node_new(const char *varname, const value_t value){ replaces p's value with that from q and frees q */ static void node_edit_value(node_t * p, node_t *q){ p->value = q->value; - // free(q->varname); - // free(q); + free(q->varname); + free(q); } static void node_free(node_t *p){ @@ -503,7 +503,7 @@ static int execute(void){ return -1; } - if (stack_size() < 2){ + if (stack_size() < 1){ debug_printf("Mult from insufficient stack\n"); return -1; }