summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2010-12-17 12:37:49 +0000
committerZdenek Kabelac <zkabelac@redhat.com>2010-12-17 12:37:49 +0000
commitbebfa29b486bfcd7bbaf7f7f888aadfb5bf9c730 (patch)
treeadbaefeac45bcb738607d23aafba012c5a91974a
parent22bb69eb99de9350cb978b5b0ee25e40fbd5add9 (diff)
downloadlvm2-bebfa29b486bfcd7bbaf7f7f888aadfb5bf9c730.tar.gz
lvm2-bebfa29b486bfcd7bbaf7f7f888aadfb5bf9c730.tar.xz
lvm2-bebfa29b486bfcd7bbaf7f7f888aadfb5bf9c730.zip
Fix NULL pointer check for *buf
As ternary operator has lower priority then add operation, this check was not doing what seemed to be expected. So enclose the test in braces and check for NULL in *buf.
-rw-r--r--WHATS_NEW1
-rw-r--r--daemons/clvmd/clvmd-command.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/WHATS_NEW b/WHATS_NEW
index 03d2dc9c..a99d32ec 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
Version 2.02.79 -
===================================
+ Fix NULL pointer check in error path in clvmd do_command(). (2.02.78)
Fix device.c #include to ensure 64-bit fopen64 use. (2.02.51)
Create /var/run/lvm directory during clvmd initialisation if missing.
Use new dm_prepare_selinux_context instead of dm_set_selinux_context.
diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c
index 915fcc7e..49f11971 100644
--- a/daemons/clvmd/clvmd-command.c
+++ b/daemons/clvmd/clvmd-command.c
@@ -168,8 +168,8 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
/* Check the status of the command and return the error text */
if (status) {
- *retlen = 1 + (*buf) ? dm_snprintf(*buf, buflen, "%s",
- strerror(status)) : -1;
+ *retlen = 1 + ((*buf) ? dm_snprintf(*buf, buflen, "%s",
+ strerror(status)) : -1);
}
return status;