[PATCH 9/9] xfsdump: fix uninit ackstr in content_mediachange_query()

Mark Tinguely tinguely at sgi.com
Thu Nov 13 12:10:01 CST 2014


On 11/12/14 12:57, Eric Sandeen wrote:
> Today, this sends an uninitialized ackstr[0] to be mlog'd -
> who knows what we get out of it.  Other places follow this
> "count = 0, string = "\n"" pattern which seemsa bit odd, but
> better than printing uninitialized memory.
>
> To be completely honest, I have no test for this.
>
> Signed-off-by: Eric Sandeen<sandeen at redhat.com>
> ---
>   restore/content.c |    1 +
>   1 files changed, 1 insertions(+), 0 deletions(-)
>
> diff --git a/restore/content.c b/restore/content.c
> index c99aed7..bc5b398 100644
> --- a/restore/content.c
> +++ b/restore/content.c
> @@ -2915,6 +2915,7 @@ content_mediachange_query( void )
>   			bagp = 0;
>   		}
>   		ackcnt = 0;
> +		ackstr[ ackcnt++ ] = "\n";
>   		dlog_multi_ack( ackstr,
>   				ackcnt );
>   		querycnt = 0;

dlog_multi_ack() with count of 0 will exit without doing anything.

Looks like some conditional code that filled the ackstr array (like the 
other callers) was removed. I vote to pull ackstr, ackcnt and the 
dlog_multi_ack() from this function.

--Mark.



More information about the xfs mailing list