From eb173e823dd055c50cc38a141cb7ac354f47d910 Mon Sep 17 00:00:00 2001
From: Huyou <huyou36@126.com>
Date: Thu, 22 Oct 2020 18:45:51 +0800
Subject: [PATCH] vuln3 global buffer overflow

---
 src/vuln-3/dc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/vuln-3/dc.c b/src/vuln-3/dc.c
index 7e1fe57..3a6da75 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;
-- 
GitLab