samba-cvs.cvs
[Top] [All Lists]

svn commit: samba r9752 - branches/SAMBA_3_0/source/rpc_server trunk/sou

Subject: svn commit: samba r9752 - branches/SAMBA_3_0/source/rpc_server trunk/source/rpc_server
From: jerry@xxxxxxxxx
Date: Mon, 29 Aug 2005 17:48:03 +0000 (GMT)
Author: jerry
Date: 2005-08-29 17:48:01 +0000 (Mon, 29 Aug 2005)
New Revision: 9752

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=9752

Log:
figured out why talloc_steal() is a bad idea for SEC_DESC*
Add a comment so someone else doesn't get bitten by this as well.


Modified:
   branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
   trunk/source/rpc_server/srv_spoolss_nt.c


Changeset:
Modified: branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c       2005-08-29 
17:31:19 UTC (rev 9751)
+++ branches/SAMBA_3_0/source/rpc_server/srv_spoolss_nt.c       2005-08-29 
17:48:01 UTC (rev 9752)
@@ -4171,7 +4171,11 @@
        if ( ntprinter->info_2->secdesc_buf 
                && ntprinter->info_2->secdesc_buf->len != 0 ) 
        {
-               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
ntprinter->info_2->secdesc_buf->sec );
+               /* don't use talloc_steal() here unless you do a deep steal of 
all 
+                  the SEC_DESC members */
+
+               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
+                       ntprinter->info_2->secdesc_buf->sec );
        }
 
        free_a_printer(&ntprinter, 2);
@@ -4205,7 +4209,11 @@
        printer->flags = 0x4; 
 
        if (ntprinter->info_2->secdesc_buf && 
ntprinter->info_2->secdesc_buf->len != 0) {
-               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
ntprinter->info_2->secdesc_buf->sec );
+               /* don't use talloc_steal() here unless you do a deep steal of 
all 
+                  the SEC_DESC members */
+
+               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
+                       ntprinter->info_2->secdesc_buf->sec );
        }
 
        free_a_printer(&ntprinter, 2);

Modified: trunk/source/rpc_server/srv_spoolss_nt.c
===================================================================
--- trunk/source/rpc_server/srv_spoolss_nt.c    2005-08-29 17:31:19 UTC (rev 
9751)
+++ trunk/source/rpc_server/srv_spoolss_nt.c    2005-08-29 17:48:01 UTC (rev 
9752)
@@ -4171,7 +4171,11 @@
        if ( ntprinter->info_2->secdesc_buf 
                && ntprinter->info_2->secdesc_buf->len != 0 ) 
        {
-               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
ntprinter->info_2->secdesc_buf->sec );
+               /* don't use talloc_steal() here unless you do a deep steal of 
all 
+                  the SEC_DESC members */
+
+               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
+                       ntprinter->info_2->secdesc_buf->sec );
        }
 
        free_a_printer(&ntprinter, 2);
@@ -4205,7 +4209,11 @@
        printer->flags = 0x4; 
 
        if (ntprinter->info_2->secdesc_buf && 
ntprinter->info_2->secdesc_buf->len != 0) {
-               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
ntprinter->info_2->secdesc_buf->sec );
+               /* don't use talloc_steal() here unless you do a deep steal of 
all 
+                  the SEC_DESC members */
+
+               printer->secdesc = dup_sec_desc( get_talloc_ctx(), 
+                       ntprinter->info_2->secdesc_buf->sec );
        }
 
        free_a_printer(&ntprinter, 2);

<Prev in Thread] Current Thread [Next in Thread>