diff options
-rw-r--r-- | source3/smbd/posix_acls.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 0c8b08e4d5..ee8a4430e1 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -1000,8 +1000,16 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name )); return False; } + /* + * We must not free current_ace here as its + * pointer is now owned by the dir_ace list. + */ current_ace = dup_ace; } else { + /* + * We must not free current_ace here as its + * pointer is now owned by the dir_ace list. + */ current_ace = NULL; } } @@ -1036,6 +1044,10 @@ Deny entry after Allow entry. Failing to set on file %s.\n", fsp->fsp_name )); print_canon_ace( current_ace, 0); } all_aces_are_inherit_only = False; + /* + * We must not free current_ace here as its + * pointer is now owned by the file_ace list. + */ current_ace = NULL; } |