svn rev #22797: branches/krb5-1-7/src/lib/kadm5/srv/
tlyu@MIT.EDU
tlyu at MIT.EDU
Mon Sep 28 16:34:53 EDT 2009
http://src.mit.edu/fisheye/changelog/krb5/?cs=22797
Commit By: tlyu
Log Message:
ticket: 6509
version_fixed: 1.7.1
status: resolved
pull up r22403 from trunk
------------------------------------------------------------------------
r22403 | epeisach | 2009-06-06 09:46:06 -0400 (Sat, 06 Jun 2009) | 9 lines
ticket: 6509
subject: kadmind is parsing acls good deref NULL pointer on error
In kadm5int_acl_parse_line, if you setup an acl w/ restrictions
(i.e. the four argument acl format) - but have an error parsing the
first few fields, acle is NULLed out, and is then derefed.
This adds a conditional and indents according to the krb5 c-style...
Changed Files:
U branches/krb5-1-7/src/lib/kadm5/srv/server_acl.c
Modified: branches/krb5-1-7/src/lib/kadm5/srv/server_acl.c
===================================================================
--- branches/krb5-1-7/src/lib/kadm5/srv/server_acl.c 2009-09-28 20:27:13 UTC (rev 22796)
+++ branches/krb5-1-7/src/lib/kadm5/srv/server_acl.c 2009-09-28 20:34:52 UTC (rev 22797)
@@ -238,20 +238,24 @@
free(acle);
acle = (aent_t *) NULL;
}
- if ( nmatch >= 4 ) {
- char *trailing;
- trailing = &acle_restrictions[strlen(acle_restrictions)-1];
- while ( isspace((int) *trailing) )
- trailing--;
- trailing[1] = '\0';
- acle->ae_restriction_string = strdup(acle_restrictions);
+ if (acle) {
+ if ( nmatch >= 4 ) {
+ char *trailing;
+
+ trailing = &acle_restrictions[strlen(acle_restrictions)-1];
+ while ( isspace((int) *trailing) )
+ trailing--;
+ trailing[1] = '\0';
+ acle->ae_restriction_string =
+ strdup(acle_restrictions);
+ }
+ else {
+ acle->ae_restriction_string = (char *) NULL;
+ }
+ acle->ae_restriction_bad = 0;
+ acle->ae_restrictions = (restriction_t *) NULL;
}
- else {
- acle->ae_restriction_string = (char *) NULL;
- }
- acle->ae_restriction_bad = 0;
- acle->ae_restrictions = (restriction_t *) NULL;
}
}
DPRINT(DEBUG_CALLS, acl_debug_level,
More information about the cvs-krb5
mailing list