From f6635cb30a2d7bd1bfaaaa211bf0177e0ae5d750 Mon Sep 17 00:00:00 2001 From: Danny Al-Gaaf Date: Fri, 10 May 2013 17:43:03 +0200 Subject: [PATCH] client/SyntheticClient.cc: check return value of describe_layout() Fix SyntheticClient::chunk_file(): check return value of describe_layout() and handle the error. CID 966615 Unchecked return value (CWE-252) Signed-off-by: Danny Al-Gaaf --- src/client/SyntheticClient.cc | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/client/SyntheticClient.cc b/src/client/SyntheticClient.cc index 7a2ab63a19983..fd2c6e57c3fe0 100644 --- a/src/client/SyntheticClient.cc +++ b/src/client/SyntheticClient.cc @@ -3390,6 +3390,7 @@ int SyntheticClient::lookup_ino(inodeno_t ino) int SyntheticClient::chunk_file(string &filename) { int fd = client->open(filename.c_str(), O_RDONLY); + int ret; struct stat st; client->fstat(fd, &st); @@ -3401,7 +3402,9 @@ int SyntheticClient::chunk_file(string &filename) inode_t inode; memset(&inode, 0, sizeof(inode)); inode.ino = st.st_ino; - client->describe_layout(fd, &inode.layout); + ret = client->describe_layout(fd, &inode.layout); + if (ret < 0) + return ret; uint64_t pos = 0; bufferlist from_before; -- 2.39.5