Description of problem:
glusterd_get_args_from_dict() creates a new dict from unserialization of the data coming from getspec. From there it extracts 'brick_name' and stores the pointer to argument brick_name (a char **). Just before returning, dict is released, deallocating all related data, including the string pointer by brick_name.
Version-Release number of selected component (if applicable): mainline
Steps to Reproduce:
REVIEW: https://review.gluster.org/18263 (glusterd: fix invalid memory reference returned) posted (#1) for review on master by Xavier Hernandez (email@example.com)
REVIEW: https://review.gluster.org/18263 (glusterd: fix invalid memory reference returned) posted (#2) for review on master by Xavier Hernandez (firstname.lastname@example.org)
COMMIT: https://review.gluster.org/18263 committed in master by Jeff Darcy (email@example.com)
Author: Xavier Hernandez <firstname.lastname@example.org>
Date: Tue Sep 12 14:53:41 2017 +0200
glusterd: fix invalid memory reference returned
Signed-off-by: Xavier Hernandez <email@example.com>
Smoke: Gluster Build System <firstname.lastname@example.org>
CentOS-regression: Gluster Build System <email@example.com>
Reviewed-by: Jeff Darcy <firstname.lastname@example.org>
Reviewed-by: Gaurav Yadav <email@example.com>
This bug is getting closed because a release has been made available that should address the reported issue. In case the problem is still not fixed with glusterfs-3.13.0, please open a new bug report.
glusterfs-3.13.0 has been announced on the Gluster mailinglists , packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist  and the update infrastructure for your distribution.