chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(from parent 1:
a669ea9
)
util: consider 0x7F a control chracter (which it is: DEL)
author
Lennart Poettering
<lennart@poettering.net>
Mon, 7 Jul 2014 09:47:10 +0000
(11:47 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Mon, 7 Jul 2014 13:25:55 +0000
(15:25 +0200)
Let's better be safe than sorry.
src/shared/util.c
patch
|
blob
|
history
diff --git
a/src/shared/util.c
b/src/shared/util.c
index 3d875c72b360d7d1f0e04376c6957c45ed7abd71..d25ee6652f93a81006f354b48dedc404e4fd92bc 100644
(file)
--- a/
src/shared/util.c
+++ b/
src/shared/util.c
@@
-1608,8
+1608,9
@@
int read_one_char(FILE *f, char *ret, usec_t t, bool *need_nl) {
return -ETIMEDOUT;
}
+ errno = 0;
if (!fgets(line, sizeof(line), f))
- return -EIO;
+ return
errno ? -errno :
-EIO;
truncate_nl(line);
@@
-5355,6
+5356,9
@@
bool string_is_safe(const char *p) {
if (*t > 0 && *t < ' ')
return false;
+ if (*t == 127)
+ return false;
+
if (strchr("\\\"\'", *t))
return false;
}
@@
-5371,10
+5375,14
@@
bool string_has_cc(const char *p) {
assert(p);
- for (t = p; *t; t++)
+ for (t = p; *t; t++)
{
if (*t > 0 && *t < ' ' && *t != '\t')
return true;
+ if (*t == 127)
+ return true;
+ }
+
return false;
}