|
@@ -754,12 +754,12 @@ static int is_printable_string(const void *data, int len)
|
|
if (len == 0)
|
|
if (len == 0)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- /* must terminate with zero */
|
|
|
|
- if (s[len - 1] != '\0')
|
|
|
|
|
|
+ /* must terminate with zero or '\n' */
|
|
|
|
+ if (s[len - 1] != '\0' && s[len - 1] != '\n')
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
/* printable or a null byte (concatenated strings) */
|
|
/* printable or a null byte (concatenated strings) */
|
|
- while (((*s == '\0') || isprint(*s)) && (len > 0)) {
|
|
|
|
|
|
+ while (((*s == '\0') || isprint(*s) || isspace(*s)) && (len > 0)) {
|
|
/*
|
|
/*
|
|
* If we see a null, there are three possibilities:
|
|
* If we see a null, there are three possibilities:
|
|
* 1) If len == 1, it is the end of the string, printable
|
|
* 1) If len == 1, it is the end of the string, printable
|