Fixed memory leak in config_load

This commit is contained in:
Markus Makela 2015-04-28 18:43:40 +03:00
parent 74b5e1ddcf
commit bf7576a501

View File

@ -209,20 +209,33 @@ int rval;
conn = mysql_init(NULL);
if (conn) {
if (mysql_real_connect(conn, NULL, NULL, NULL, NULL, 0, NULL, 0)) {
char *ptr;
version_string = (char *)mysql_get_server_info(conn);
char *ptr,*tmp;
tmp = (char *)mysql_get_server_info(conn);
unsigned int server_version = mysql_get_server_version(conn);
ptr = strstr(version_string, "-embedded");
if(version_string)
free(version_string);
if((version_string = malloc(strlen(tmp) + strlen("5.5.5-") + 1)) == NULL)
return 0;
if (server_version >= 100000)
{
strcpy(version_string,"5.5.5-");
strcat(version_string,tmp);
}
else
{
strcpy(version_string,tmp);
}
ptr = strstr(tmp, "-embedded");
if (ptr) {
*ptr = '\0';
}
if (server_version >= 100000)
{
char* tmpstr = malloc(strlen(version_string) + strlen("5.5.5-") + 1);
strcpy(tmpstr,"5.5.5-");
strcat(tmpstr,version_string);
version_string = tmpstr;
}
}
mysql_close(conn);
}