diff options
| author | Alex Pickering <alexandermpickering@gmail.com> | 2019-09-28 14:40:14 -0400 |
|---|---|---|
| committer | Alex Pickering <alexandermpickering@gmail.com> | 2019-09-28 14:40:14 -0400 |
| commit | dea57a10e7d7850ea8263b5590c194cfc661c6ce (patch) | |
| tree | ad0b0db5c75e6064e772dfc5a59ef76ea36c1a84 /src/ctemplates.c | |
| parent | 509b05b3fe5197a3c479f553daddfbb0369c37e8 (diff) | |
| download | libctemplates-dea57a10e7d7850ea8263b5590c194cfc661c6ce.tar.gz libctemplates-dea57a10e7d7850ea8263b5590c194cfc661c6ce.tar.bz2 libctemplates-dea57a10e7d7850ea8263b5590c194cfc661c6ce.zip | |
Fixed some out of bounds writes
Diffstat (limited to 'src/ctemplates.c')
| -rw-r--r-- | src/ctemplates.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/ctemplates.c b/src/ctemplates.c index 52f4c25..d507d33 100644 --- a/src/ctemplates.c +++ b/src/ctemplates.c @@ -593,7 +593,7 @@ parse_loop(struct TMPL_token* head, struct TMPL_buf* errbuf){ start_of_name++; start_of_name++;//consume " size_t name_size = get_quoted_string(start_of_name,head->length); - char* loopname = (char*)malloc(sizeof(char)*name_size); + char* loopname = (char*)malloc(sizeof(char)*(name_size + 1)); memcpy(loopname,start_of_name,name_size); loopname[name_size] = '\0'; t->TMPL_tag.loop.loopname = loopname; @@ -675,7 +675,7 @@ parse_variable(struct TMPL_token* head, struct TMPL_buf* errbuf){ start_of_name++; start_of_name++; //consume " size_t name_size = get_quoted_string(start_of_name,head->length); - char* name = (char*)malloc(sizeof(char)*name_size); + char* name = (char*)malloc(sizeof(char)*(name_size + 1)); memcpy(name,start_of_name,name_size); name[name_size] = '\0'; t->TMPL_tag.var.varname = name; @@ -696,7 +696,7 @@ parse_variable(struct TMPL_token* head, struct TMPL_buf* errbuf){ start_of_default++; start_of_default++; //consume " size_t default_size = get_quoted_string(start_of_default,head->length); - char* def = (char*) malloc(sizeof(char)*default_size); + char* def = (char*) malloc(sizeof(char)*(default_size + 1)); def[default_size] = '\0'; memcpy(def,start_of_default,default_size); t->TMPL_tag.var.defaultval = def; |
