Module Name:    src
Committed By:   christos
Date:           Wed Oct  3 22:28:20 UTC 2012

Modified Files:
        src/external/gpl2/xcvs/dist/src: acl.c

Log Message:
- add more debugging
- don't return memory we did not allocate, which the caller will then free!


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/external/gpl2/xcvs/dist/src/acl.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/gpl2/xcvs/dist/src/acl.c
diff -u src/external/gpl2/xcvs/dist/src/acl.c:1.3 src/external/gpl2/xcvs/dist/src/acl.c:1.4
--- src/external/gpl2/xcvs/dist/src/acl.c:1.3	Fri Mar  9 10:24:34 2012
+++ src/external/gpl2/xcvs/dist/src/acl.c	Wed Oct  3 18:28:20 2012
@@ -279,16 +279,26 @@ access_allowed (const char *file, const 
 			    if (debug) fprintf(stderr, "perm %d\n", perm);
 			    if (valid_perm (part_perms, perm))
 			    {
+				if (debug) fprintf(stderr, "signlevel=%d "
+				    " x=%d, aclconfig_default_used=%d\n",
+				    signlevel, x, aclconfig_default_used);
 				if (signlevel == x)
 				{
 				    if (strcmp(part_tag, "ALL") != 0 &&
-					!aclconfig_default_used)
+					!aclconfig_default_used) {
 					retval = 1;
+					if (debug) fprintf(stderr,
+					    "%s, %d: %d\n", __FILE__, __LINE__,
+					    retval);
+				    }
 				}
 				else if (!aclconfig_default_used)
 				{
 				    signlevel = x;
 				    retval = 1;
+				    if (debug) fprintf(stderr,
+					"%s, %d: %d\n", __FILE__, __LINE__,
+					retval);
 				}
 				else {
 				    /* nothing... */
@@ -299,13 +309,20 @@ access_allowed (const char *file, const 
 				if (signlevel == x)
 				{
 				    if (strcmp(part_tag, "ALL") != 0 &&
-					!aclconfig_default_used)
+					!aclconfig_default_used) {
 					retval = 0;
+					if (debug) fprintf(stderr,
+					    "%s, %d: %d\n", __FILE__, __LINE__,
+					    retval);
+				    }
 				}
 				else if (!aclconfig_default_used)
 				{
 				    signlevel = x;
 				    retval = 0;
+				    if (debug) fprintf(stderr,
+					"%s, %d: %d\n", __FILE__, __LINE__,
+					retval);
 
 				    if (strncmp (part_type, "f", 1) == 0)
 					founddeniedfile = 1;
@@ -334,11 +351,18 @@ access_allowed (const char *file, const 
 			if (valid_perm (part_perms, perm))
 			{
 			    retval = 1;
+			    if (debug) fprintf(stderr,
+				"%s, %d: %d\n", __FILE__, __LINE__,
+				retval);
 			    if (perm == 8)
 				dadmin = 1;
 			}
-			else
+			else {
 			    retval = 0;
+			    if (debug) fprintf(stderr,
+				"%s, %d: %d\n", __FILE__, __LINE__,
+				retval);
+			}
 		    }
 		}
 
@@ -353,10 +377,17 @@ access_allowed (const char *file, const 
     {
 	if (debug) fprintf(stderr, "not found line\n");
 	/* DEFAULT */
-	if (valid_perm (NULL, perm))
+	if (valid_perm (NULL, perm)) {
 	    retval = 1;
-	else
+	    if (debug) fprintf(stderr,
+		"%s, %d: %d\n", __FILE__, __LINE__,
+		retval);
+	} else {
 	    retval = 0;
+	    if (debug) fprintf(stderr,
+		"%s, %d: %d\n", __FILE__, __LINE__,
+		retval);
+	}
     }
 
     /* acl admin rigths 'p' */
@@ -491,7 +522,7 @@ get_perms (const char *part_perms)
 	    aclconfig_default_used = 1;
 	    if (debug) fprintf (stderr, "default %s\n",
 			        cvs_acl_default_permissions);
-	    return (cvs_acl_default_permissions);
+	    return xstrdup(cvs_acl_default_permissions);
 	}
 	else {
 	    if (debug) fprintf (stderr, "early %s\n", xperms);

Reply via email to