Skip to content
Permalink
Browse files Browse the repository at this point in the history
Added control character check
Added control character check, returning -1 (to "err") if control characters are present.
  • Loading branch information
tomspiderlabs authored and hallyn committed Mar 31, 2023
1 parent bd2d007 commit e5905c4
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions lib/fields.c
Expand Up @@ -21,9 +21,9 @@
*
* The supplied field is scanned for non-printable and other illegal
* characters.
* + -1 is returned if an illegal character is present.
* + 1 is returned if no illegal characters are present, but the field
* contains a non-printable character.
* + -1 is returned if an illegal or control character is present.
* + 1 is returned if no illegal or control characters are present,
* but the field contains a non-printable character.
* + 0 is returned otherwise.
*/
int valid_field (const char *field, const char *illegal)
Expand All @@ -45,10 +45,13 @@ int valid_field (const char *field, const char *illegal)
}

if (0 == err) {
/* Search if there are some non-printable characters */
/* Search if there are non-printable or control characters */
for (cp = field; '\0' != *cp; cp++) {
if (!isprint (*cp)) {
err = 1;
}
if (!iscntrl (*cp)) {
err = -1;
break;
}
}
Expand Down

0 comments on commit e5905c4

Please sign in to comment.