budb: Don't leak memory
authorSimon Wilkinson <sxw@your-file-system.com>
Sat, 31 Mar 2012 19:16:16 +0000 (15:16 -0400)
committerDerrick Brashear <shadow@dementix.org>
Mon, 9 Apr 2012 01:23:07 +0000 (18:23 -0700)
Don't leak the malloc'd path variable everytime we call truncateDatabase

Caught by clang-analyzer

Change-Id: I583d81b136113820dab00a6eb35ca8e1aeec2cd1
Reviewed-on: http://gerrit.openafs.org/7105
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Derrick Brashear <shadow@dementix.org>

src/budb/server.c

index d7f2960..e107aaa 100644 (file)
@@ -313,11 +313,10 @@ truncateDatabase(void)
     afs_int32 code = 0;
     int fd;
 
-    path =
-       (char *)malloc(strlen(globalConfPtr->databaseDirectory) +
-                      strlen(globalConfPtr->databaseName) +
-                      strlen(globalConfPtr->databaseExtension) + 1);
-    if (path == 0)
+    path = malloc(strlen(globalConfPtr->databaseDirectory) +
+                 strlen(globalConfPtr->databaseName) +
+                 strlen(globalConfPtr->databaseExtension) + 1);
+    if (path == NULL)
        ERROR(-1);
 
     /* construct the database name */
@@ -335,6 +334,8 @@ truncateDatabase(void)
            close(fd);
     }
 
+    free(path);
+
   error_exit:
     return (code);
 }