It's now only freed at the end of the function. Signed-off-by: Dehan Meng <dem...@redhat.com> --- qga/commands-linux.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
diff --git a/qga/commands-linux.c b/qga/commands-linux.c index 55c35bfc8f..70020621bf 100644 --- a/qga/commands-linux.c +++ b/qga/commands-linux.c @@ -2138,8 +2138,7 @@ GuestNetworkRouteList *qmp_guest_network_get_route(Error **errp) is_ipv6 = (i == 1); fp = fopen(routeFiles[i], "r"); if (fp == NULL) { - error_setg_errno(errp, errno, "open(\"%s\")", routeFiles[i]); - free(line); + error_setg_errno(errp, errno, "open(\"%s\")", route_files[i]); continue; } @@ -2148,7 +2147,6 @@ GuestNetworkRouteList *qmp_guest_network_get_route(Error **errp) firstLine = 0; continue; } - if (is_ipv6) { char destination[33], source[33], next_hop[33]; int des_prefixlen, src_prefixlen, metric, refcnt, use, flags; @@ -2215,9 +2213,8 @@ GuestNetworkRouteList *qmp_guest_network_get_route(Error **errp) QAPI_LIST_APPEND(tail, route); } - free(line); fclose(fp); } - + free(line); return head; } -- 2.40.1