diff --git a/kpasswd/kpasswd-generator.c b/kpasswd/kpasswd-generator.c index cff60713b..dade24f6c 100644 --- a/kpasswd/kpasswd-generator.c +++ b/kpasswd/kpasswd-generator.c @@ -48,8 +48,7 @@ read_words (const char *filename, char ***ret_w) err (1, "cannot open %s", filename); alloc = n = 0; while (fgets (buf, sizeof(buf), f) != NULL) { - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; if (n >= alloc) { alloc += 16; w = erealloc (w, alloc * sizeof(char **)); diff --git a/kuser/generate-requests.c b/kuser/generate-requests.c index b18dfda8b..3691a6431 100644 --- a/kuser/generate-requests.c +++ b/kuser/generate-requests.c @@ -58,8 +58,7 @@ read_words (const char *filename, char ***ret_w) err (1, "cannot open %s", filename); alloc = n = 0; while (fgets (buf, sizeof(buf), f) != NULL) { - if (buf[strlen (buf) - 1] == '\n') - buf[strlen (buf) - 1] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; if (n >= alloc) { alloc += 16; w = erealloc (w, alloc * sizeof(char **)); diff --git a/lib/kadm5/ipropd_master.c b/lib/kadm5/ipropd_master.c index ad3a8f300..22cc3b9e9 100644 --- a/lib/kadm5/ipropd_master.c +++ b/lib/kadm5/ipropd_master.c @@ -127,8 +127,7 @@ check_acl (krb5_context context, const char *name) if (fp == NULL) return 1; while (fgets(buf, sizeof(buf), fp) != NULL) { - if (buf[strlen(buf) - 1 ] == '\n') - buf[strlen(buf) - 1 ] = '\0'; + buf[strcspn(buf, "\r\n")] = '\0'; if (strcmp (buf, name) == 0) { ret = 0; break;