Re: [PATCH 1/2] xfsdump: avoid segfault in partial_reg() in error case

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Looks good to me

Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>

On Tue, Oct 08, 2013 at 05:05:54PM -0500, Eric Sandeen wrote:
> If we go down the "/* Should never get here. */" path
> in partial_reg(), we issue a warning but then continue
> with the function.  This calls pi_unlock() twice,
> but worse, uses a null isptr:
> 
>         if ( ! isptr ) {
> ... isptr is never set if we get to ...
>                 /* Should never get here. */
>                 pi_unlock();
> ...
>         }
> ...
>         /* Update this drive's entry */
>         bsptr = &isptr->is_bs[d_index];
>         if (bsptr->endoffset == 0) {
> 
> From all appearances, because we unlock on that "never get
> here" path, it should just be returning after printing the
> warning.  So add that, and we avoid the segfault.
> 
> The previous fix to partial_reg() should prevent us from
> hitting this in the first place.
> 
> Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
> ---
> 
> diff --git a/restore/content.c b/restore/content.c
> index 54d933c..cc49336 100644
> --- a/restore/content.c
> +++ b/restore/content.c
> @@ -9007,6 +9007,7 @@ partial_reg( ix_t d_index,
>  #ifdef DEBUGPARTIALS
>  		dump_partials();
>  #endif
> +		return;
>  	}
>  
>  found:
> 
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

-- 
Carlos

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs




[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux