]> 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)
committerTom Yu <tlyu@mit.edu>
Fri, 15 Jan 2016 22:06:12 +0000 (17:06 -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]

(cherry picked from commit 8fd85a77789496b8d7f8092f6e8a2824bc09a6cf)

ticket: 8346
version_fixed: 1.13.4
tags: -pullup
status: resolved

src/lib/kadm5/srv/server_acl.c

index 64f738540893aa70224c730908fdab9a3ffded1f..719f6dea9c5ead32f20102034527404212f305eb 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 */