[PATCH] Cygwin: path_conv::eq_worker: add NULL pointer checks

Corinna Vinschen corinna-cygwin@cygwin.com
Mon Nov 16 12:08:16 GMT 2020


On Nov 14 09:16, Ken Brown via Cygwin-patches wrote:
> Don't call cstrdup on NULL pointers.
> ---
>  winsup/cygwin/path.h | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/winsup/cygwin/path.h b/winsup/cygwin/path.h
> index b94f13df8..0b3e72fc1 100644
> --- a/winsup/cygwin/path.h
> +++ b/winsup/cygwin/path.h
> @@ -320,9 +320,11 @@ class path_conv
>         contrast to statically allocated strings.  Calling device::dup()
>         will duplicate the string if the source was allocated. */
>      dev.dup ();
> -    path = cstrdup (in_path);
> +    if (in_path)
> +      path = cstrdup (in_path);
>      conv_handle.dup (pc.conv_handle);
> -    posix_path = cstrdup(pc.posix_path);
> +    if (pc.posix_path)
> +      posix_path = cstrdup(pc.posix_path);
>      if (pc.wide_path)
>        {
>  	wide_path = cwcsdup (uni_path.Buffer);
> -- 
> 2.29.2

LGTM.  How did you notice this?  Maybe a pointer to the problem
in the log message may be helpful in future.


Thanks,
Corinna


More information about the Cygwin-patches mailing list