chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
udev-rules.c: parse_file() - fix possible buffer overflow
[elogind.git]
/
udev
/
udev-rules.c
diff --git
a/udev/udev-rules.c
b/udev/udev-rules.c
index 4d9fa70ae54fe4193884e2043fddf92398262abe..da08bc11f69668a807e675743757da033fc76dee 100644
(file)
--- a/
udev/udev-rules.c
+++ b/
udev/udev-rules.c
@@
-1599,6
+1599,8
@@
static int parse_file(struct udev_rules *rules, const char *filename, unsigned s
while (line[len-2] == '\\') {
if (fgets(&line[len-2], (sizeof(line)-len)+2, f) == NULL)
break;
+ if (strlen(&line[len-2]) < 2)
+ break;
line_nr++;
len = strlen(line);
}