[PATCH v2] kexec/fs2dt: Check for NULL pointer in dt_copy_old_root_param()

Simon Horman horms at verge.net.au
Thu Sep 29 01:20:20 PDT 2016


[CC Dave Young]

On Thu, Sep 29, 2016 at 01:29:13PM +0530, Madhavan Srinivasan wrote:
> In dt_copy_old_root_param(), FILE * returned
> from fopen is not checked for NULL pointer
> before passinig to fclose(). This could trigger
> a segfault. Patch to fix the same.
> 
> Reviewed-by: Dave Young <dyoung at redhat.com>

Probably Dave's tag should be dropped as that was for a somewhat
different (though equally trivial) approach.

> Signed-off-by: Madhavan Srinivasan <maddy at linux.vnet.ibm.com>
> ---
> Changelog v1:
>  - Moved the check right after fopen
> 
>  kexec/fs2dt.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/kexec/fs2dt.c b/kexec/fs2dt.c
> index 6ed2399759cf..5ba3ec0fa65c 100644
> --- a/kexec/fs2dt.c
> +++ b/kexec/fs2dt.c
> @@ -524,6 +524,9 @@ static void dt_copy_old_root_param(void)
>  	strcpy(filename, pathname);
>  	strcat(filename, "bootargs");
>  	fp = fopen(filename, "r");
> +	if (!fp)
> +		return;
> +

With the (!fp) conditional above the (fp) conditional below can be removed.

>  	if (fp) {
>  		if (getline(&last_cmdline, &len, fp) == -1)
>  			die("unable to read %s\n", filename);
> -- 
> 2.7.4
> 



More information about the kexec mailing list