[PATCH] Avoiding Segmentation fault while p points to NULL.

Yuriy M. Kaminskiy yumkam at gmail.com
Wed Sep 25 20:33:20 AEST 2019


On 25.09.2019 10:55, krishnaiah bommu wrote:
> Signed-off-by: krishnaiah bommu <krishnaiah.bommu at intel.com>
> ---
>  match.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/match.c b/match.c
> index fcf6959..ab74211 100644
> --- a/match.c
> +++ b/match.c
> @@ -251,7 +251,8 @@ match_user(const char *user, const char *host, const char *ipaddr,
>  
>  	pat = xstrdup(pattern);
>  	p = strchr(pat, '@');
> -	*p++ = '\0';
> +	if (p != NULL)
> +		*p++ = '\0';

This looks impossible; actually, this strchr call is redundant, I'd rather replaced it with

-       p = strchr(pat, '@');
+       p = pat + (p - pattern);

>  
>  	if ((ret = match_pattern(user, pat)) == 1)
>  		ret = match_host_and_ip(host, ipaddr, p);
>


More information about the openssh-unix-dev mailing list