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);
free(users_data);
free(key.user);
mysql_free_result(result);
mysql_close(con);
mysql_thread_end();

View File

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