Author: jmcd
Date: 2006-03-13 01:32:30 +0000 (Mon, 13 Mar 2006)
New Revision: 14278

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

Log:
Remainder of fix for Coverity #79,80,81: only allow GROUP or OWNER to be
specified once in an ACL, so it can be allocated a second time,
overwriting the first


Modified:
   branches/SAMBA_3_0/source/utils/smbcacls.c
   trunk/source/utils/smbcacls.c


Changeset:
Modified: branches/SAMBA_3_0/source/utils/smbcacls.c
===================================================================
--- branches/SAMBA_3_0/source/utils/smbcacls.c  2006-03-13 01:32:30 UTC (rev 
14277)
+++ branches/SAMBA_3_0/source/utils/smbcacls.c  2006-03-13 01:32:30 UTC (rev 
14278)
@@ -392,6 +392,10 @@
                }
 
                if (strncmp(tok,"OWNER:", 6) == 0) {
+                       if (owner_sid) {
+                               printf("Only specify owner once\n");
+                               goto done;
+                       }
                        owner_sid = SMB_CALLOC_ARRAY(DOM_SID, 1);
                        if (!owner_sid ||
                            !StringToSid(owner_sid, tok+6)) {
@@ -402,6 +406,10 @@
                }
 
                if (strncmp(tok,"GROUP:", 6) == 0) {
+                       if (grp_sid) {
+                               printf("Only specify group once\n");
+                               goto done;
+                       }
                        grp_sid = SMB_CALLOC_ARRAY(DOM_SID, 1);
                        if (!grp_sid ||
                            !StringToSid(grp_sid, tok+6)) {

Modified: trunk/source/utils/smbcacls.c
===================================================================
--- trunk/source/utils/smbcacls.c       2006-03-13 01:32:30 UTC (rev 14277)
+++ trunk/source/utils/smbcacls.c       2006-03-13 01:32:30 UTC (rev 14278)
@@ -392,6 +392,10 @@
                }
 
                if (strncmp(tok,"OWNER:", 6) == 0) {
+                       if (owner_sid) {
+                               printf("Only specify owner once\n");
+                               goto done;
+                       }
                        owner_sid = SMB_CALLOC_ARRAY(DOM_SID, 1);
                        if (!owner_sid ||
                            !StringToSid(owner_sid, tok+6)) {
@@ -402,6 +406,10 @@
                }
 
                if (strncmp(tok,"GROUP:", 6) == 0) {
+                       if (grp_sid) {
+                               printf("Only specify group once\n");
+                               goto done;
+                       }
                        grp_sid = SMB_CALLOC_ARRAY(DOM_SID, 1);
                        if (!grp_sid ||
                            !StringToSid(grp_sid, tok+6)) {

Reply via email to