ext4_journal: fix memory leakage when reallocating a revoked block
authorKaho Ng <ngkaho1234@gmail.com>
Tue, 28 Jun 2016 04:03:07 +0000 (12:03 +0800)
committerKaho Ng <ngkaho1234@gmail.com>
Tue, 28 Jun 2016 15:03:26 +0000 (23:03 +0800)
src/ext4_journal.c

index 099a977d759b0ebf0ffb8d0e27dbdbe7a7d9eb9e..1f70c8194dd6b2fa5cc9e14dc998e5b06673b385 100644 (file)
@@ -1640,9 +1640,11 @@ int jbd_trans_set_block_dirty(struct jbd_trans *trans,
        rec = RB_FIND(jbd_revoke_tree,
                        &trans->revoke_root,
                        &tmp_rec);
-       if (rec)
+       if (rec) {
                RB_REMOVE(jbd_revoke_tree, &trans->revoke_root,
                          rec);
+               free(rec);
+       }
 
        return EOK;
 }