Fixed memory leak in config_load
This commit is contained in:
parent
74b5e1ddcf
commit
bf7576a501
@ -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);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user