libglusterfsclient: Fix segfault on non-NULL loc->name
The gf_log message actually assumes that loc->name will have a valid non-NULL name in it, whereas if the loc_t being passed to it was actually created on a function stack, i.e. a local function variable and was then passed down the code path to do_path_resolve without ever initing it or zeroing the structure, its possible that the name member has a non-NULL but corrupted address. This leads to a segfault. Whereas, we know loc->path will always have the full path. Signed-off-by: Anand V. Avati <avati@amp.gluster.com>
This commit is contained in:
parent
c1b3deff11
commit
ba4833355a
@ -245,9 +245,9 @@ __do_path_resolve (loc_t *loc, libglusterfs_client_ctx_t *ctx,
|
||||
if (parent) {
|
||||
inode_ref (parent);
|
||||
gf_log ("libglusterfsclient-dentry", GF_LOG_DEBUG,
|
||||
"loc->parent(%"PRId64") already present. sending lookup "
|
||||
"for %"PRId64"/%s", parent->ino, parent->ino,
|
||||
loc->name);
|
||||
"loc->parent(%"PRId64") already present. sending "
|
||||
"lookup for %"PRId64"/%s", parent->ino, parent->ino,
|
||||
loc->path);
|
||||
resolved = strdup (loc->path);
|
||||
resolved = dirname (resolved);
|
||||
} else {
|
||||
|
Loading…
x
Reference in New Issue
Block a user