recent lvm2 (lvm2-2.02.06) could call _get_proc_number() having it NULL:
Breakpoint 2, _get_proc_number (file=0xb7f97a08 "/proc/devices", name=0xb7f97a03 "misc", number=0xbffc4abc)
Breakpoint 2, _get_proc_number (file=0xb7f97a24 "/proc/misc", name=0xb7f97a16 "device-mapper", number=0xbffc4ab8)
Breakpoint 2, _get_proc_number (file=0xb7f97a08 "/proc/devices", name=0xb7f97a16 "device-mapper", number=0x0)
so just don't touch 'number' variable for temporary storage.
Changed files:
device-mapper-klibc.patch -> 1.4
+ size++;
+ } while (num > 0 && buf[size - 1] != '\n');
+ buf[size] = '\0';
-+ if (sscanf(buf, "%d %255s\n", number, &nm[0]) == 2) {
++ if (sscanf(buf, "%d %255s\n", &num, &nm[0]) == 2) {
if (!strcmp(name, nm)) {
if (number) {
*number = num;
- } while (c != EOF && c != '\n');
- }
+ }
-+ } while (num > 0);
++ } while (size > 0);
fclose(fl);
if (number) {