1
0
mirror of git://sourceware.org/git/lvm2.git synced 2024-12-22 17:35:59 +03:00
lvm2/libdm
Zdenek Kabelac 4f439707fd libdm: fix segault for truncated string token.
This patch fixes problem reported here:

https://www.redhat.com/archives/dm-devel/2013-January/msg00311.html

Fixing it by separating function for duplicating string token.

---
When /etc/lvm/lvm.conf is truncated at the first '"' of a line, all LVM
utilities crash with a segfault.

The segfault only seems to occur if the last character is the first '"'
(double quote) of a line. If you truncate it at any other point, lvm
detects the error and report parse error

lvm.conf ends like this.

$hexdump -C lvm.conf
....
69 72 20 3d 20 22 2f 64  65 76 22 0a 0a 0a 20 20  |ir = "/dev"...  |
20 20 23 20 41 6e 20 61  72 72 61 79 20 6f 66 20  |  # An array of |
64 69 72 65 63 74 6f 72  69 65 73 20 74 68 61 74  |directories that|
20 63 6f 6e 74 61 69 6e  20 74 68 65 20 64 65 76  | contain the dev|
69 63 65 20 6e 6f 64 65  73 20 79 6f 75 20 77 69  |ice nodes you wi|
73 68 0a 20 20 20 20 23  20 74 6f 20 75 73 65 20  |sh.    # to use |
77 69 74 68 20 4c 56 4d  32 2e 0a 20 20 20 20 73  |with LVM2..    s|
63 61 6e 20 3d 20 5b 20  22 2f 78 22 2c 0a 20 20  |can = [ "/x",.  |
20 20 20 20 20 20 20 20  20 20 20 22              | "|
...

Reported-by: dongmao zhang <dmzhang suse com>
2013-02-04 19:01:10 +01:00
..
datastruct Use void pointer instead of char for binary key 2011-03-10 12:48:40 +00:00
ioctl logging: classify log_debug messages 2013-01-07 22:30:29 +00:00
misc logging: add debug classes 2013-01-07 22:25:19 +00:00
mm logging: classify log_debug messages 2013-01-07 22:30:29 +00:00
regex cleanup: add __attribute__ ((nonnull(1))) 2012-08-23 14:37:52 +02:00
.exported_symbols Generate liblvm2app and libdevmapper exported symbols from header files. 2010-06-25 18:17:38 +00:00
libdevmapper.h RAID: Add RAID status accessibility functions 2013-02-01 11:31:47 -06:00
libdevmapper.pc.in Switch to use Requires.private for devmapper.pc and lvm2app.pc 2010-05-11 08:54:11 +00:00
libdm-common.c logging: classify log_debug messages 2013-01-07 22:30:29 +00:00
libdm-common.h libdm: introduce and use DEV_UUID macro 2012-10-10 17:16:15 +02:00
libdm-config.c libdm: fix segault for truncated string token. 2013-02-04 19:01:10 +01:00
libdm-deptree.c RAID: Add RAID status accessibility functions 2013-02-01 11:31:47 -06:00
libdm-file.c Drop unreachable code 2012-02-08 12:59:45 +00:00
libdm-report.c cleanup: switch log_error to log_warn 2012-10-17 15:41:35 +02:00
libdm-string.c libdm-string: Add dm_vasprintf. 2012-07-31 11:12:34 +02:00
Makefile.in configure: Use pkg-config to look for valgrind/memcheck.h. 2012-10-09 20:54:41 +02:00