From: Joseph Sutton Date: Mon, 13 Feb 2023 01:59:38 +0000 (+1300) Subject: s3:net_usershare: Handle allocation failure X-Git-Tag: talloc-2.4.1~940 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=2de0e1dccd52588790b44da86fc899b20f918d2f;p=thirdparty%2Fsamba.git s3:net_usershare: Handle allocation failure Signed-off-by: Joseph Sutton Reviewed-by: Andreas Schneider --- diff --git a/source3/utils/net_usershare.c b/source3/utils/net_usershare.c index 5e630ea5d4a..a4887a3a34d 100644 --- a/source3/utils/net_usershare.c +++ b/source3/utils/net_usershare.c @@ -891,6 +891,12 @@ static int net_usershare_add(struct net_context *c, int argc, const char **argv) "%s:%c,", dom_sid_str_buf(&sid, &buf), pcolon[1]); + if (us_acl == NULL) { + d_fprintf(stderr, + _("net usershare add: talloc_asprintf_append() failed\n")); + TALLOC_FREE(ctx); + return -1; + } /* Move to the next ACL entry. */ if (pcolon[2] == ',') { @@ -964,6 +970,13 @@ static int net_usershare_add(struct net_context *c, int argc, const char **argv) /* Create the in-memory image of the file. */ file_img = talloc_strdup(ctx, "#VERSION 2\npath="); + if (file_img == NULL) { + d_fprintf(stderr, + _("net usershare add: talloc_strdup() failed\n")); + TALLOC_FREE(ctx); + close(tmpfd); + return -1; + } file_img = talloc_asprintf_append(file_img, "%s\ncomment=%s\nusershare_acl=%s\n" "guest_ok=%c\nsharename=%s\n", @@ -972,6 +985,13 @@ static int net_usershare_add(struct net_context *c, int argc, const char **argv) us_acl, guest_ok ? 'y' : 'n', cp_sharename); + if (file_img == NULL) { + d_fprintf(stderr, + _("net usershare add: talloc_asprintf_append() failed\n")); + TALLOC_FREE(ctx); + close(tmpfd); + return -1; + } to_write = strlen(file_img);