diff mbox

Btrfs-progs: subvol_uuid_search: Return error code on memory allocation failure

Message ID 1475672592-3963-1-git-send-email-kosigiprasanth@gmail.com (mailing list archive)
State Superseded
Headers show

Commit Message

Prasanth KSR Oct. 5, 2016, 1:03 p.m. UTC
From: Prasanth K S R <prasanth.ksr@dell.com>

This commit fixes coverity defect CID 1328695.

Signed-off-by: Prasanth K S R <prasanth.ksr@dell.com>
---
 send-utils.c | 5 +++++
 1 file changed, 5 insertions(+)

Comments

David Sterba Oct. 6, 2016, 3:45 p.m. UTC | #1
On Wed, Oct 05, 2016 at 06:33:12PM +0530, Prasanth K S R wrote:
> From: Prasanth K S R <prasanth.ksr@dell.com>
> 
> This commit fixes coverity defect CID 1328695.
> 
> Signed-off-by: Prasanth K S R <prasanth.ksr@dell.com>
> ---
>  send-utils.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/send-utils.c b/send-utils.c
> index a85fa08..6f80b6f 100644
> --- a/send-utils.c
> +++ b/send-utils.c
> @@ -486,6 +486,11 @@ struct subvol_info *subvol_uuid_search(struct subvol_uuid_search *s,
>  		info->path = strdup(path);
>  	} else {
>  		info->path = malloc(PATH_MAX);
> +		if (!info->path) {
> +			fprintf(stderr, "Memory allocation failed\n");

Please use the error() helper (does not need \n terminated string).

Also, would be grat to convert subvol_uuid_search to return ERR_PTR
style value (which means to conver all callers). Now we don't see why
exactly it fails and interpret it as nonexistence of the uuid.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/send-utils.c b/send-utils.c
index a85fa08..6f80b6f 100644
--- a/send-utils.c
+++ b/send-utils.c
@@ -486,6 +486,11 @@  struct subvol_info *subvol_uuid_search(struct subvol_uuid_search *s,
 		info->path = strdup(path);
 	} else {
 		info->path = malloc(PATH_MAX);
+		if (!info->path) {
+			fprintf(stderr, "Memory allocation failed\n");
+			ret = -ENOMEM;
+			goto out;
+		}
 		ret = btrfs_subvolid_resolve(s->mnt_fd, info->path,
 					     PATH_MAX, root_id);
 	}