Krutika Dhananjay da7ca1efcf protocol/server: Do not access key after GF_FREE in _delete_auth_opt()
PROBLEMS:

1.'key' becomes a dangling pointer after the first call to dict_del()
   returns, in _delete_auth_opt(). Therefore, the second call to
   fnmatch() is made with 'key' pointing to deallocated space.

2. Also, the name _delete_auth_opt seems to suggest that the function
   is intended to match and delete "auth" options from the dictionary.
   But it winds up deleting all the options irrespective of whether
   the pattern match was successful or not. The same is true with
   _copy_auth_opt().

FIX:

Changed _delete_auth_opt() to delete the key ONLY if it matches either
of the two patterns (auth.addr.*.allow and auth.addr.*.reject).
Similarly, changed _copy_auth_opt() along the same lines.

Change-Id: Ic8664e5a0a29cefe43cb59a27e32fbdbeac154b5
BUG: 881062
Signed-off-by: Krutika Dhananjay <kdhananj@redhat.com>
Reviewed-on: http://review.gluster.org/4337
Reviewed-by: Pranith Kumar Karampuri <pkarampu@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Anand Avati <avati@redhat.com>
2012-12-19 13:18:58 -08:00
..
2012-10-03 12:26:45 -07:00