4
0
Эх сурвалжийг харах

service: Fix memleak in service_unlink_and_exit

Signed-off-by: Jan Friesse <jfriesse@redhat.com>
Reviewed-by: Christine Caulfield <ccaulfie@redhat.com>
Jan Friesse 12 жил өмнө
parent
commit
7cba14fb61
1 өөрчлөгдсөн 2 нэмэгдсэн , 1 устгасан
  1. 2 1
      exec/service.c

+ 2 - 1
exec/service.c

@@ -285,13 +285,13 @@ static unsigned int service_unlink_and_exit (
 		}
 
 		snprintf(key_name, ICMAP_KEYNAME_MAXLEN, "internal_configuration.service.%hu.name", service_id);
-		free(found_service_name);
 		if (icmap_get_string(key_name, &found_service_name) != CS_OK) {
 			continue;
 		}
 
 		snprintf(key_name, ICMAP_KEYNAME_MAXLEN, "internal_configuration.service.%u.ver", service_id);
 		if (icmap_get_uint32(key_name, &found_service_ver) != CS_OK) {
+			free(found_service_name);
 			continue;
 		}
 
@@ -300,6 +300,7 @@ static unsigned int service_unlink_and_exit (
 			service_found = 1;
 			break;
 		}
+		free(found_service_name);
 	}
 	icmap_iter_finalize(iter);