mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-21 13:34:40 +03:00
Fix _get_proc_number to be tolerant of malformed /proc/misc entries.
Fixes issue reported here: http://lkml.org/lkml/2011/11/8/190
This commit is contained in:
parent
6b58c79603
commit
52f3043f15
@ -1,5 +1,6 @@
|
||||
Version 1.02.68 -
|
||||
==================================
|
||||
Fix _get_proc_number to be tolerant of malformed /proc/misc entries.
|
||||
Add ExecReload to dm-event.service for systemd to reload dmeventd properly.
|
||||
Add dm_config_tree_find_str_allow_empty.
|
||||
Fix compile-time pool memory locking with DEBUG_MEM.
|
||||
|
@ -172,7 +172,8 @@ static int _get_proc_number(const char *file, const char *name,
|
||||
{
|
||||
FILE *fl;
|
||||
char nm[256];
|
||||
int c;
|
||||
char *line;
|
||||
size_t len;
|
||||
uint32_t num;
|
||||
|
||||
if (!(fl = fopen(file, "r"))) {
|
||||
@ -180,8 +181,8 @@ static int _get_proc_number(const char *file, const char *name,
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (!feof(fl)) {
|
||||
if (fscanf(fl, "%d %255s\n", &num, &nm[0]) == 2) {
|
||||
while (getline(&line, &len, fl) != -1) {
|
||||
if (sscanf(line, "%d %255s\n", &num, &nm[0]) == 2) {
|
||||
if (!strcmp(name, nm)) {
|
||||
if (number) {
|
||||
*number = num;
|
||||
@ -191,9 +192,7 @@ static int _get_proc_number(const char *file, const char *name,
|
||||
}
|
||||
dm_bit_set(_dm_bitset, num);
|
||||
}
|
||||
} else do {
|
||||
c = fgetc(fl);
|
||||
} while (c != EOF && c != '\n');
|
||||
}
|
||||
}
|
||||
if (fclose(fl))
|
||||
log_sys_error("fclose", file);
|
||||
|
Loading…
Reference in New Issue
Block a user