]> sourceware.org Git - lvm2.git/commit
libdm: fix segault for truncated string token.
authorZdenek Kabelac <zkabelac@redhat.com>
Fri, 1 Feb 2013 10:07:44 +0000 (11:07 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Mon, 4 Feb 2013 18:01:10 +0000 (19:01 +0100)
commit4f439707fd4a8837f930c14076bc662ca5c19844
tree31546e7e69b067e5c2cf629796c8cd5a4b4c32a8
parent9f433e6ee34c0ff94017c940aac301bc28d7e233
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>
WHATS_NEW_DM
libdm/libdm-config.c
This page took 0.030708 seconds and 5 git commands to generate.