From 215eef5b6f5949b84b17fb131383b9b97ba94958 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Wed, 8 May 2019 14:52:31 +1200 Subject: [PATCH] s4/dsdb/util_samr: check some return codes (CID 1444977) Signed-off-by: Douglas Bagnall Reviewed-by: Gary Lockyer --- source4/dsdb/common/util_samr.c | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/source4/dsdb/common/util_samr.c b/source4/dsdb/common/util_samr.c index bb906fa0488..5370fc94eba 100644 --- a/source4/dsdb/common/util_samr.c +++ b/source4/dsdb/common/util_samr.c @@ -154,11 +154,20 @@ NTSTATUS dsdb_add_user(struct ldb_context *ldb, return NT_STATUS_FOOBAR; } - ldb_msg_add_string(msg, "sAMAccountName", account_name); - ldb_msg_add_string(msg, "objectClass", obj_class); - samdb_msg_add_uint(ldb, tmp_ctx, msg, - "userAccountControl", - user_account_control); + ret = ldb_msg_add_string(msg, "sAMAccountName", account_name); + if (ret != LDB_SUCCESS) { + goto failed; + } + ret = ldb_msg_add_string(msg, "objectClass", obj_class); + if (ret != LDB_SUCCESS) { + goto failed; + } + ret = samdb_msg_add_uint(ldb, tmp_ctx, msg, + "userAccountControl", + user_account_control); + if (ret != LDB_SUCCESS) { + goto failed; + } /* This is only here for migrations using pdb_samba4, the * caller and the samldb are responsible for ensuring it makes @@ -237,6 +246,11 @@ NTSTATUS dsdb_add_user(struct ldb_context *ldb, } talloc_free(tmp_ctx); return NT_STATUS_OK; + + failed: + ldb_transaction_cancel(ldb); + talloc_free(tmp_ctx); + return NT_STATUS_INTERNAL_ERROR; } /* -- 2.47.3