]> Pileus Git - ~andy/linux/blobdiff - tools/hv/hv_kvp_daemon.c
tools: hv: Fix file descriptor leaks
[~andy/linux] / tools / hv / hv_kvp_daemon.c
index 5b8f28f2aafa1874642f0a54fbd7067e0f872577..d55ce4040b74910d1de363cbaf301aba7407e68e 100644 (file)
@@ -257,12 +257,15 @@ static int kvp_file_init(void)
 
 
                filep = fopen(fname, "re");
-               if (!filep)
+               if (!filep) {
+                       close(fd);
                        return 1;
+               }
 
                record = malloc(alloc_unit * num_blocks);
                if (record == NULL) {
                        fclose(filep);
+                       close(fd);
                        return 1;
                }
                for (;;) {
@@ -286,6 +289,7 @@ static int kvp_file_init(void)
                                                num_blocks);
                                if (record == NULL) {
                                        fclose(filep);
+                                       close(fd);
                                        return 1;
                                }
                                continue;