Openwall GNU/*/Linux - a small security-enhanced Linux distro for servers
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Fri, 18 Oct 2019 15:15:28 +0200
From: Szabolcs Nagy <nsz@...t70.net>
To: musl@...ts.openwall.com
Cc: "wangjianjian (C)" <wangjianjian3@...wei.com>
Subject: Re: [PATCH 1/1] ungetc: Cast to unsigned char before push
 back to stream

* wangjianjian (C) <wangjianjian3@...wei.com> [2019-10-18 12:35:45 +0000]:
> >From 4d24e6fee85ed878dc632dd29aabeb7c7454952e Mon Sep 17 00:00:00 2001
> From: Wang Jianjian <wangjianjian3@...wei.com>
> Date: Fri, 18 Oct 2019 20:28:29 +0800
> Subject: [PATCH 1/1] ungetc: Cast to unsigned char before push back to stream
> 
> Per Posix standard, casting to unsigned char is need before returning C
> and pushing C back to stream.
> 
> Signed-off-by: Wang Jianjian <wangjianjian3@...wei.com>
> ---
>  src/stdio/ungetc.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/stdio/ungetc.c b/src/stdio/ungetc.c
> index 180673a4..9733091a 100644
> --- a/src/stdio/ungetc.c
> +++ b/src/stdio/ungetc.c
> @@ -12,9 +12,9 @@ int ungetc(int c, FILE *f)
>                 return EOF;
>         }
> 
> -       *--f->rpos = c;
> +       *--f->rpos = (unsigned char)c;

this is a noop since assignment will do the conversion.

>         f->flags &= ~F_EOF;
> 
>         FUNLOCK(f);
> -       return c;
> +       return (unsigned char)c;

i think this fixes a real bug.

>  }
> --
> 2.17.1
> 
> BR,
> Wang Jianjian

Powered by blists - more mailing lists

Your e-mail address:

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.