summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source4/dsdb/samdb/samdb.c7
-rw-r--r--source4/libcli/security/sddl.c6
2 files changed, 11 insertions, 2 deletions
diff --git a/source4/dsdb/samdb/samdb.c b/source4/dsdb/samdb/samdb.c
index 5e2fa94722c..18e482c9d39 100644
--- a/source4/dsdb/samdb/samdb.c
+++ b/source4/dsdb/samdb/samdb.c
@@ -1004,7 +1004,7 @@ const struct dom_sid *samdb_domain_sid(struct ldb_context *ldb)
const char *attrs[] = { "rootDomainNamingContext", NULL };
int ret;
struct ldb_result *res = NULL;
- TALLOC_CTX *tmp_ctx = talloc_new(ldb);
+ TALLOC_CTX *tmp_ctx;
struct dom_sid *domain_sid;
const char *basedn_s;
struct ldb_dn *basedn;
@@ -1015,6 +1015,11 @@ const struct dom_sid *samdb_domain_sid(struct ldb_context *ldb)
return domain_sid;
}
+ tmp_ctx = talloc_new(ldb);
+ if (tmp_ctx == NULL) {
+ goto failed;
+ }
+
basedn = ldb_dn_explode(tmp_ctx, "");
if (basedn == NULL) {
goto failed;
diff --git a/source4/libcli/security/sddl.c b/source4/libcli/security/sddl.c
index 7d7fe856cd2..83dfeed5ac9 100644
--- a/source4/libcli/security/sddl.c
+++ b/source4/libcli/security/sddl.c
@@ -448,12 +448,16 @@ static char *sddl_encode_sid(TALLOC_CTX *mem_ctx, const struct dom_sid *sid,
static char *sddl_encode_ace(TALLOC_CTX *mem_ctx, const struct security_ace *ace,
const struct dom_sid *domain_sid)
{
- char *sddl;
+ char *sddl = NULL;
TALLOC_CTX *tmp_ctx;
const char *s_type="", *s_flags="", *s_mask="",
*s_object="", *s_iobject="", *s_trustee="";
tmp_ctx = talloc_new(mem_ctx);
+ if (tmp_ctx == NULL) {
+ DEBUG(0, ("talloc_new failed\n"));
+ return NULL;
+ }
s_type = sddl_flags_to_string(tmp_ctx, ace_types, ace->type, True);
if (s_type == NULL) goto failed;