From: Robbie Harwood Date: Wed, 13 Jan 2016 23:17:09 +0000 (-0500) Subject: Fix EOF check in kadm5.acl line processing X-Git-Tag: krb5-1.13.4-final~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8a697b6ef9d4e528a33c66c781403698551982fc;p=thirdparty%2Fkrb5.git Fix EOF check in kadm5.acl line processing On platforms where the char type is unsigned, the check for EOF (which is negative) will always fail, leaving a 255 byte at the end of the line. This can cause a syntax error, in turn causing the contents of kadm5.acl to be ignored. Fix this bug by removing the cast on EOF. [ghudson@mit.edu: more precisely describe consequences of bug in commit message] (cherry picked from commit 8fd85a77789496b8d7f8092f6e8a2824bc09a6cf) ticket: 8346 version_fixed: 1.13.4 tags: -pullup status: resolved --- diff --git a/src/lib/kadm5/srv/server_acl.c b/src/lib/kadm5/srv/server_acl.c index 64f7385408..719f6dea9c 100644 --- a/src/lib/kadm5/srv/server_acl.c +++ b/src/lib/kadm5/srv/server_acl.c @@ -115,7 +115,7 @@ kadm5int_acl_get_line(fp, lnp) int byte; byte = fgetc(fp); acl_buf[i] = byte; - if (byte == (char)EOF) { + if (byte == EOF) { if (i > 0 && acl_buf[i-1] == '\\') i--; break; /* it gets nulled-out below */