s3:libsmb: Fix cli_set_ea_path() to use frame instead of talloc_tos().
authorJeremy Allison <jra@samba.org>
Wed, 7 Aug 2013 23:19:06 +0000 (16:19 -0700)
committerStefan Metzmacher <metze@samba.org>
Thu, 15 Aug 2013 07:07:07 +0000 (09:07 +0200)
Signed-off-by: Jeremy Allison <jra@samba.org>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
source3/libsmb/clifile.c

index 77796d883c3ee793589236bcfad6ba4db05c3dee..5cd1ff2e67f765e55f13d64e71ff29d8a702e6da 100644 (file)
@@ -4322,9 +4322,10 @@ NTSTATUS cli_set_ea_path(struct cli_state *cli, const char *path,
        NTSTATUS status;
        TALLOC_CTX *frame = talloc_stackframe();
 
-       param = talloc_array(talloc_tos(), uint8_t, 6);
+       param = talloc_array(frame, uint8_t, 6);
        if (!param) {
-               return NT_STATUS_NO_MEMORY;
+               status = NT_STATUS_NO_MEMORY;
+               goto fail;
        }
        SSVAL(param,0,SMB_INFO_SET_EA);
        SSVAL(param,2,0);
@@ -4337,7 +4338,10 @@ NTSTATUS cli_set_ea_path(struct cli_state *cli, const char *path,
 
        status = cli_set_ea(cli, TRANSACT2_SETPATHINFO, param, param_len,
                            ea_name, ea_val, ea_len);
-       talloc_free(frame);
+
+  fail:
+
+       TALLOC_FREE(frame);
        return status;
 }