xfs: avoid double-free in xfs_attr_node_addname
xfs_attr_node_addname()'s error handling tests whether it should free "state" in the out: error handling label: out: if (state) xfs_da_state_free(state); but an earlier free doesn't set state to NULL afterwards; this could lead to a double free. Fix it by setting state to NULL after it's freed. This was found by Coverity. Signed-off-by: Eric Sandeen <sandeen@redhat.com> Reviewed-by: Mark Tinguely <tinguely@sgi.com> Signed-off-by: Ben Myers <bpm@sgi.com>
This commit is contained in:
parent
2c2bcc0735
commit
6dd93e9e5e
|
@ -1014,6 +1014,7 @@ restart:
|
||||||
* have been a b-tree.
|
* have been a b-tree.
|
||||||
*/
|
*/
|
||||||
xfs_da_state_free(state);
|
xfs_da_state_free(state);
|
||||||
|
state = NULL;
|
||||||
xfs_bmap_init(args->flist, args->firstblock);
|
xfs_bmap_init(args->flist, args->firstblock);
|
||||||
error = xfs_attr3_leaf_to_node(args);
|
error = xfs_attr3_leaf_to_node(args);
|
||||||
if (!error) {
|
if (!error) {
|
||||||
|
|
Loading…
Reference in New Issue