Jelajahi Sumber

- fix: double free on error (bad RE)

Andrei Pelinescu-Onciul 17 tahun lalu
induk
melakukan
0add9bfb44
1 mengubah file dengan 1 tambahan dan 0 penghapusan
  1. 1 0
      re.c

+ 1 - 0
re.c

@@ -231,6 +231,7 @@ found_repl:
 	*re_end=0;
 	*re_end=0;
 	if (regcomp(regex, re, cflags)!=0){
 	if (regcomp(regex, re, cflags)!=0){
 		pkg_free(regex);
 		pkg_free(regex);
+		regex=0;
 		*re_end=c; /* restore */
 		*re_end=c; /* restore */
 		LOG(L_ERR, "ERROR: subst_parser: bad regular expression %.*s in "
 		LOG(L_ERR, "ERROR: subst_parser: bad regular expression %.*s in "
 				"%.*s\n", (int)(re_end-re), re, subst->len, subst->s);
 				"%.*s\n", (int)(re_end-re), re, subst->len, subst->s);