Description of problem: Depending on where an error in dict_set_bin() happens, the pointer passed to the function is getting free'd. Some parts of the Gluster code that call dict_set_bin() handle the free'ing themselves, other parts don't. There is no correct way of doing this, because dict_set_bin() itself is broken. Callers of dict_set_bin() should be responsible for cleanup in case dict_set_bin() fails.
REVIEW: http://review.gluster.org/11638 (dict: dict_set_bin() should never free the pointer on error) posted (#2) for review on master by Niels de Vos (ndevos)
REVIEW: http://review.gluster.org/11638 (dict: dict_set_bin() should never free the pointer on error) posted (#3) for review on master by Niels de Vos (ndevos)
REVIEW: http://review.gluster.org/11638 (dict: dict_set_bin() should never free the pointer on error) posted (#4) for review on master by Niels de Vos (ndevos)
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.8.0, please open a new bug report. glusterfs-3.8.0 has been announced on the Gluster mailinglists [1], packages for several distributions should become available in the near future. Keep an eye on the Gluster Users mailinglist [2] and the update infrastructure for your distribution. [1] http://blog.gluster.org/2016/06/glusterfs-3-8-released/ [2] http://thread.gmane.org/gmane.comp.file-systems.gluster.user