From 45dbb6f4a605de23a3f4e93fc199f311326a5828 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Wed, 8 Jun 2011 22:16:59 +0100 Subject: [PATCH] Coverity: Don't leak error strings. (Cherry picked from commit 3135b8c378f9f98ae66e37fd79d305764334980d). --- daemon/blockdev.c | 2 ++ daemon/fsck.c | 1 + daemon/mount.c | 2 ++ daemon/ntfs.c | 3 +++ daemon/parted.c | 9 ++++++--- 5 files changed, 14 insertions(+), 3 deletions(-) diff --git a/daemon/blockdev.c b/daemon/blockdev.c index 3df1807..1afb4b8 100644 --- a/daemon/blockdev.c +++ b/daemon/blockdev.c @@ -68,11 +68,13 @@ call_blockdev (const char *device, const char *switc, int extraarg, int prints) if (sscanf (out, "%" SCNi64, &rv) != 1) { reply_with_error ("%s: expected output, but got nothing", argv[0]); free (out); + free (err); return -1; } } free (out); + free (err); return rv; } diff --git a/daemon/fsck.c b/daemon/fsck.c index e452adc..7a36440 100644 --- a/daemon/fsck.c +++ b/daemon/fsck.c @@ -39,5 +39,6 @@ do_fsck (const char *fstype, const char *device) return -1; } + free (err); return r; } diff --git a/daemon/mount.c b/daemon/mount.c index 1238ad2..128b05b 100644 --- a/daemon/mount.c +++ b/daemon/mount.c @@ -79,6 +79,7 @@ do_mount_vfs (const char *options, const char *vfstype, if (is_root) root_mounted = 1; + free (error); return 0; } @@ -364,6 +365,7 @@ do_mount_loop (const char *file, const char *mountpoint) return -1; } + free (error); return 0; } diff --git a/daemon/ntfs.c b/daemon/ntfs.c index a25fc38..909ea18 100644 --- a/daemon/ntfs.c +++ b/daemon/ntfs.c @@ -56,6 +56,7 @@ do_ntfs_3g_probe (int rw, const char *device) return -1; } + free (err); return r; } @@ -72,6 +73,7 @@ do_ntfsresize (const char *device) return -1; } + free (err); return 0; } @@ -92,5 +94,6 @@ do_ntfsresize_size (const char *device, int64_t size) return -1; } + free (err); return 0; } diff --git a/daemon/parted.c b/daemon/parted.c index 068384e..23083a1 100644 --- a/daemon/parted.c +++ b/daemon/parted.c @@ -295,13 +295,16 @@ test_parted_m_opt (void) if (r == -1) { /* Test failed, eg. missing or completely unusable parted binary. */ reply_with_error ("could not run 'parted' command"); + free (err); return -1; } if (err && strstr (err, "invalid option -- m")) - return result = 0; - - return result = 1; + result = 0; + else + result = 1; + free (err); + return result; } static char * -- 1.8.3.1