X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fmustach.c;h=9868cffb41d851715a3fdbfa4cf3e247d2548a8c;hb=3a2efc3143d89d036794f2d8274794482cb2c961;hp=19df16fc4492d051d9909d0165ea244d4885106f;hpb=1d4de11a907e41c06063a2cd5028dc4101690f50;p=src%2Fapp-framework-main.git diff --git a/src/mustach.c b/src/mustach.c index 19df16f..9868cff 100644 --- a/src/mustach.c +++ b/src/mustach.c @@ -47,7 +47,7 @@ static int getpartial(struct mustach_itf *itf, void *closure, const char *name, rc = fputc(0, file) ? MUSTACH_ERROR_SYSTEM : 0; fclose(file); if (rc < 0) { - free(result); + free(*result); *result = NULL; } } @@ -76,11 +76,11 @@ static int process(const char *template, struct mustach_itf *itf, void *closure, } if (emit) fwrite(template, (size_t)(beg - template), 1, file); - term = strstr(template, clstr); + beg += oplen; + term = strstr(beg, clstr); if (term == NULL) return MUSTACH_ERROR_UNEXPECTED_END; template = term + cllen; - beg += oplen; len = (size_t)(term - beg); c = *beg; switch(c) { @@ -99,6 +99,7 @@ static int process(const char *template, struct mustach_itf *itf, void *closure, template++; } c = '&'; + /*@fallthrough@*/ case '^': case '#': case '/':