summaryrefslogtreecommitdiff
path: root/libdaemon
diff options
context:
space:
mode:
authorChristian Brauner <christian.brauner@canonical.com>2017-03-11 01:08:43 +0100
committerDavid Teigland <teigland@redhat.com>2017-03-13 13:37:07 -0500
commit46b735c937ce68e72d08997635321bf30240325d (patch)
treed0fbd4a3feea2648230394f9b35d07f5291599ad /libdaemon
parent5f2c942000b9e59105441eeaea7233b6c9c4f493 (diff)
downloadlvm2-46b735c937ce68e72d08997635321bf30240325d.tar.gz
lvmetad: fix segfault on i386
Sending %d as format argument in lvmetad_vg_remove_pending() will cause segfaults in config_make_nodes_v() when va_arg() casts to int64_t. Also, it is clearly advertised in the lvm source code that using plain %d is prohibited, so let's switch to FMTd64. Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
Diffstat (limited to 'libdaemon')
-rw-r--r--libdaemon/client/config-util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libdaemon/client/config-util.c b/libdaemon/client/config-util.c
index 93f3d0a93..5b6cfb82a 100644
--- a/libdaemon/client/config-util.c
+++ b/libdaemon/client/config-util.c
@@ -260,7 +260,7 @@ struct dm_config_node *config_make_nodes_v(struct dm_config_tree *cft,
key[fmt - next] = '\0';
fmt += 2;
- if (!strcmp(fmt, "%d") || !strcmp(fmt, FMTd64)) {
+ if (!strcmp(fmt, FMTd64)) {
int64_t value = va_arg(ap, int64_t);
if (!(cn = make_int_node(cft, key, value, parent, pre_sib)))
return 0;