]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Fix EOF check in kadm5.acl line processing
authorRobbie Harwood <rharwood@redhat.com>
Wed, 13 Jan 2016 23:17:09 +0000 (18:17 -0500)
committerGreg Hudson <ghudson@mit.edu>
Thu, 14 Jan 2016 16:38:03 +0000 (11:38 -0500)
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]

ticket: 8346 (new)
target_version: 1.14-next
target_version: 1.13-next
tags: pullup

src/lib/kadm5/srv/server_acl.c

index bfeccfdf6e32d2ebf932d2f052411da24f897b2b..1fc60dc8198a4ebb96dd9930119f54a1ee0eb907 100644 (file)
@@ -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 */