avoid ascii control characters in strings
Dana Jansens danakj@orodu.net
1 files changed,
5 insertions(+),
1 deletions(-)
jump to
M
obt/ddfile.c
→
obt/ddfile.c
@@ -96,7 +96,7 @@
if (!locale) { end = in + bytes; for (i = in; i < end; ++i) { - if (*i > 127) { + if (*i > 126 || *i < 32) { /* non-control character ascii */ end = i; parse_error("Invalid bytes in string", parse, error); break;@@ -128,6 +128,10 @@ backslash = FALSE;
} else if (*i == '\\') backslash = TRUE; + else if (*i >= 127 || *i < 32) { /* avoid ascii control characters */ + parse_error("Found control character in string", parse, error); + break; + } else { memcpy(o, i, next-i); o += next-i;