[lvm-devel] [PATCH 12/29] Add test for 'read' result
Zdenek Kabelac
zkabelac at redhat.com
Thu Nov 25 10:55:16 UTC 2010
Static analyzer complains when read result is ignored.
So let's add some small check even when there is very low probablity to
fail in this place.
Signed-off-by: Zdenek Kabelac <zkabelac at redhat.com>
---
tools/lvmcmdline.c | 12 +++++++-----
1 files changed, 7 insertions(+), 5 deletions(-)
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index 192531d..f599613 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -1191,15 +1191,17 @@ static const char *_get_cmdline(pid_t pid)
{
static char _proc_cmdline[32];
char buf[256];
- int fd;
+ int fd, n = 0;
snprintf(buf, sizeof(buf), DEFAULT_PROC_DIR "/%u/cmdline", pid);
if ((fd = open(buf, O_RDONLY)) > 0) {
- read(fd, _proc_cmdline, sizeof(_proc_cmdline) - 1);
- _proc_cmdline[sizeof(_proc_cmdline) - 1] = '\0';
+ if ((n = read(fd, _proc_cmdline, sizeof(_proc_cmdline) - 1)) < 0) {
+ log_sys_error("read", buf);
+ n = 0;
+ }
close(fd);
- } else
- _proc_cmdline[0] = '\0';
+ }
+ _proc_cmdline[n] = '\0';
return _proc_cmdline;
}
--
1.7.3.2
More information about the lvm-devel
mailing list