Fix memory leak in dial data. Thanks @vignyzheng for pointing this.

This commit is contained in:
Chintan Parikh
2017-12-21 16:29:42 -08:00
parent 7ba715a54e
commit fc267fac62
3 changed files with 17 additions and 1 deletions

View File

@@ -87,3 +87,15 @@ DIALData *retrieve_dial_data(char *app_name) {
return result; return result;
} }
void free_dial_data(DIALData **dialData)
{
DIALData *curNode=NULL;
while (*dialData != NULL) {
curNode = *dialData;
*dialData =curNode->next;
free(curNode->key);
free(curNode->value);
free(curNode);
}
}

View File

@@ -60,4 +60,6 @@ DIALData *retrieve_dial_data(char *app_name);
void set_dial_data_dir(const char *data_dir); void set_dial_data_dir(const char *data_dir);
void free_dial_data(DIALData **dialData);
#endif /* SRC_SERVER_DIAL_DATA_H_ */ #endif /* SRC_SERVER_DIAL_DATA_H_ */

View File

@@ -383,9 +383,11 @@ static void handle_dial_data(struct mg_connection *conn,
return; return;
} }
free_dial_data(&app->dial_data);
app->dial_data = parse_params(body); app->dial_data = parse_params(body);
store_dial_data(app->name, app->dial_data); store_dial_data(app->name, app->dial_data);
free(app->dial_data);
mg_printf(conn, "HTTP/1.1 200 OK\r\n" mg_printf(conn, "HTTP/1.1 200 OK\r\n"
"Access-Control-Allow-Origin: %s\r\n" "Access-Control-Allow-Origin: %s\r\n"