From 5cf0923e1840375d23c4fd6035b919613ce6573b Mon Sep 17 00:00:00 2001 From: Zdenek Kabelac Date: Mon, 9 Jul 2018 00:54:16 +0200 Subject: vdo: fix parsing vdo status Recent updates relay on zerod status structure memory (device ptr is NULL) and also dm_strncpy need to count with '\0'. --- device_mapper/vdo/status.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'device_mapper') diff --git a/device_mapper/vdo/status.c b/device_mapper/vdo/status.c index 7323a3599..a0eba4990 100644 --- a/device_mapper/vdo/status.c +++ b/device_mapper/vdo/status.c @@ -188,7 +188,7 @@ bool vdo_status_parse(struct dm_pool *mem, const char *input, const char *te; struct vdo_status *s; - s = (!mem) ? malloc(sizeof(*s)) : dm_pool_zalloc(mem, sizeof(*s)); + s = (!mem) ? zalloc(sizeof(*s)) : dm_pool_zalloc(mem, sizeof(*s)); if (!s) { _set_error(result, "out of memory"); @@ -206,7 +206,7 @@ bool vdo_status_parse(struct dm_pool *mem, const char *input, _set_error(result, "out of memory"); goto bad; } - dm_strncpy(s->device, b, te - b); + dm_strncpy(s->device, b, te - b + 1); b = _eat_space(te, e); -- cgit v1.2.1