[PATCH] xfsprogs: fix potential memory leak in verify_set_primary_sb()

Mark Tinguely tinguely at sgi.com
Tue Sep 24 13:59:49 CDT 2013


On 09/22/13 01:01, Li Zhong wrote:
> This patch tries to fix CID 997012, 997013 and 997014 reported by Coverity scan,
> as suggested by sekharan.
>
> Signed-off-by: Li Zhong<zhong at linux.vnet.ibm.com>
> ---


> @@ -756,8 +756,10 @@ verify_set_primary_sb(xfs_sb_t		*rsb,
>   	/*
>   	 * see if we have enough superblocks to bother with
>   	 */
> -	if (num_ok < num_sbs / 2)
> -		return(XR_INSUFF_SEC_SB);
> +	if (num_ok < num_sbs / 2) {
> +		retval = XR_INSUFF_SEC_SB;
> +		goto out_free_list;
> +	}

>

Looks good. list, sb and check could have been allocated at this point.

Isn't the list been added to before the conditional in the for loop?:

         list = add_geo(list, &geo, sb_index);

         /*
          * grab N secondaries.  check them off as we get them
          * so we only process each one once
          */
         for (round = 0; round < skip; round++)  {

...
                         if (get_sb(sb, off, size, agno) == XR_EOF)  {
                                 retval = 1;
                                 goto out;
				^^^^^^^^^ out_free_list?
                         }

--Mark.



More information about the xfs mailing list