diff options
| author | Alexander Pickering <alexandermpickering@gmail.com> | 2017-12-30 03:19:20 -0500 |
|---|---|---|
| committer | Alexander Pickering <alexandermpickering@gmail.com> | 2017-12-30 03:19:20 -0500 |
| commit | 9c7882627fd28c060f53d86e194fb864302a347c (patch) | |
| tree | ac99c8e33ac8949456a0a65f223ba1665464b796 /ctemplates.c | |
| parent | 843d57b03549ed0481e6a4e39a1fdb0fa3311929 (diff) | |
| download | libctemplates-9c7882627fd28c060f53d86e194fb864302a347c.tar.gz libctemplates-9c7882627fd28c060f53d86e194fb864302a347c.tar.bz2 libctemplates-9c7882627fd28c060f53d86e194fb864302a347c.zip | |
Fixed a memory corruption bug
Fixed a bug where adding a var to a varlist would sometimes cause memroy
corruption
Diffstat (limited to 'ctemplates.c')
| -rw-r--r-- | ctemplates.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ctemplates.c b/ctemplates.c index dd981ac..d858aa9 100644 --- a/ctemplates.c +++ b/ctemplates.c @@ -352,8 +352,8 @@ void TMPL_add_var_to_varlist(struct TMPL_varlist* t, char* varname, char* var){ struct TMPL_varitem* vi = TMPL_alloc_varitem(); vi->type = vartype_var; - size_t slen = strlen(var); - vi->item.s = (char*)malloc(sizeof(char)*slen); + size_t slen = strlen(var);/*strlen dosn't count \0*/ + vi->item.s = (char*)malloc(sizeof(char)*(slen + 1)); vi->item.s[slen] = '\0'; memcpy(vi->item.s,var,slen); int succ = hashmap_put(t->map,varname,vi); |
