Fixed various memory leaks

dbuser.c: key.user value was never freed
skygw_utils.cc: replace_literal values were not always freed
This commit is contained in:
Markus Makela
2014-09-01 13:40:52 +03:00
parent a17e584adb
commit 164d8b1e32
2 changed files with 5 additions and 1 deletions

View File

@ -388,7 +388,7 @@ getUsers(SERVICE *service, struct users *users)
memcpy(users->cksum, hash, SHA_DIGEST_LENGTH); memcpy(users->cksum, hash, SHA_DIGEST_LENGTH);
free(users_data); free(users_data);
free(key.user);
mysql_free_result(result); mysql_free_result(result);
mysql_close(con); mysql_close(con);
mysql_thread_end(); mysql_thread_end();

View File

@ -1912,6 +1912,7 @@ char* replace_literal(
fprintf(stderr, "Regex memory allocation failed : %s\n", fprintf(stderr, "Regex memory allocation failed : %s\n",
strerror(errno)); strerror(errno));
free(search_re); free(search_re);
free(newstr);
newstr = haystack; newstr = haystack;
goto retblock; goto retblock;
} }
@ -1928,6 +1929,7 @@ char* replace_literal(
search_re, search_re,
error_message); error_message);
free(search_re); free(search_re);
free(newstr);
newstr = haystack; newstr = haystack;
goto retblock; goto retblock;
} }
@ -1936,6 +1938,7 @@ char* replace_literal(
if (rc != 0) if (rc != 0)
{ {
free(search_re); free(search_re);
free(newstr);
regfree(&re); regfree(&re);
newstr = haystack; newstr = haystack;
goto retblock; goto retblock;
@ -1947,6 +1950,7 @@ char* replace_literal(
regfree(&re); regfree(&re);
free(haystack); free(haystack);
free(search_re);
retblock: retblock:
return newstr; return newstr;
} }