The branch, v3-2-test has been updated
       via  7b9d9fba230b9e61079869a6a2751cda37fb8a9e (commit)
      from  0d2c77e8d3a83f2c5e78fa076f22919ef9d124b9 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit 7b9d9fba230b9e61079869a6a2751cda37fb8a9e
Author: Jeremy Allison <[EMAIL PROTECTED]>
Date:   Fri Jan 11 23:24:13 2008 -0800

    Fix CID 498. Ensure we don't prs_mem_free an uninitialized
    prs_struct.
    Jeremy.

-----------------------------------------------------------------------

Summary of changes:
 source/printing/nt_printing.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/printing/nt_printing.c b/source/printing/nt_printing.c
index 1a4a26e..bba55c0 100644
--- a/source/printing/nt_printing.c
+++ b/source/printing/nt_printing.c
@@ -5326,6 +5326,7 @@ WERROR nt_printing_setsec(const char *sharename, 
SEC_DESC_BUF *secdesc_ctr)
        SEC_DESC_BUF *new_secdesc_ctr = NULL;
        SEC_DESC_BUF *old_secdesc_ctr = NULL;
        prs_struct ps;
+       bool prs_init_done = false;
        TALLOC_CTX *mem_ctx = NULL;
        TDB_DATA kbuf;
        WERROR status;
@@ -5394,6 +5395,8 @@ WERROR nt_printing_setsec(const char *sharename, 
SEC_DESC_BUF *secdesc_ctr)
                 (uint32)ndr_size_security_descriptor(new_secdesc_ctr->sd, 0)
                 + sizeof(SEC_DESC_BUF), mem_ctx, MARSHALL);
 
+       prs_init_done = true;
+
        if (!sec_io_desc_buf("nt_printing_setsec", &new_secdesc_ctr,
                             &ps, 1)) {
                status = WERR_BADFUNC;
@@ -5413,7 +5416,9 @@ WERROR nt_printing_setsec(const char *sharename, 
SEC_DESC_BUF *secdesc_ctr)
 
  out:
 
-       prs_mem_free(&ps);
+       if (prs_init_done) {
+               prs_mem_free(&ps);
+       }
        if (mem_ctx)
                talloc_destroy(mem_ctx);
        return status;


-- 
Samba Shared Repository

Reply via email to