param: add failure case for loadparm_init_s3
authorGarming Sam <garming@catalyst.net.nz>
Thu, 27 Feb 2014 22:38:51 +0000 (11:38 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 7 Jul 2014 21:32:36 +0000 (23:32 +0200)
It allocates memory, so it should be possible for it to fail.

Change-Id: Ib24f9718fb88790de23b78435866b9e79fe8c705
Signed-off-by: Garming Sam <garming@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Nadezhda Ivanova <nivanova@samba.org>
source3/param/loadparm.c

index f906dd956b2fad66cb057ad6cec00e04ec6869e9..d9e4a910173c754135c7bd525c67ee653ea5318a 100644 (file)
@@ -2648,6 +2648,12 @@ bool lp_do_parameter(int snum, const char *pszParmName, const char *pszParmValue
        if (parm_table[parmnum].special) {
                struct loadparm_context *lp_ctx = loadparm_init_s3(frame,
                                                                   loadparm_s3_helpers());
+               if (lp_ctx == NULL) {
+                       DEBUG(0, ("loadparm_init_s3 failed\n"));
+                       TALLOC_FREE(frame);
+                       return false;
+               }
+
                lp_ctx->sDefault = &sDefault;
                lp_ctx->services = ServicePtrs;
                lp_ctx->bInGlobalSection = bInGlobalSection;