]> git.ipfire.org Git - thirdparty/mdadm.git/commitdiff
mdadm: Fix double free
authorLukasz Florczak <lukasz.florczak@linux.intel.com>
Fri, 25 Mar 2022 11:48:59 +0000 (12:48 +0100)
committerJes Sorensen <jsorensen@fb.com>
Thu, 31 Mar 2022 15:37:03 +0000 (11:37 -0400)
If there was a size mismatch after creation it would get fixed on grow
in imsm_fix_size_mismatch(), but due to double free "double free or corruption (fasttop)"
error occurs and grow cannot proceed.

Signed-off-by: Lukasz Florczak <lukasz.florczak@linux.intel.com>
Signed-off-by: Jes Sorensen <jsorensen@fb.com>
super-intel.c

index 5ffa7636732b1d16740aeb2304600aa043f1a052..6ff336ee6f82dbf955d59bd40c6376748704ee5d 100644 (file)
@@ -11783,9 +11783,8 @@ static int imsm_fix_size_mismatch(struct supertype *st, int subarray_index)
                        st->update_tail = &st->updates;
                } else {
                        imsm_sync_metadata(st);
+                       free(update);
                }
-
-               free(update);
        }
        ret_val = 0;
 exit: