I mght be wrong, but why not just initialize to NULL?

On 24 September 2014 10:10, Matti Karnaattu <mkarnaa...@gmail.com> wrote:

> I noticed that chmod.c have uninitialized variable char *ep that was
> used. This diff clarify what I mean.
>
>
>  Index: chmod.c
> ===================================================================
> RCS file: /OpenBSD/src/bin/chmod/chmod.c,v
> retrieving revision 1.30
> diff -u -p -u -p -r1.30 chmod.c
> --- chmod.c     21 May 2014 06:23:01 -0000      1.30
> +++ chmod.c     24 Sep 2014 08:47:58 -0000
> @@ -65,7 +65,7 @@ main(int argc, char *argv[])
>         uid_t uid;
>         gid_t gid;
>         u_int32_t fclear, fset;
> -       char *ep, *mode, *cp, *flags;
> +       char *mode, *cp, *flags;
>         setlocale(LC_ALL, "");
> @@ -148,13 +148,11 @@ done:
>                 flags = *argv;
>                 if (*flags >= '0' && *flags <= '7') {
>                         errno = 0;
> -                       val = strtoul(flags, &ep, 8);
> +                       val = strtoul(flags, (char *)NULL, 8);
>                         if (val > UINT_MAX)
>                                 errno = ERANGE;
>                         if (errno)
>                                 err(1, "invalid flags: %s", flags);
> -                       if (*ep)
> -                               errx(1, "invalid flags: %s", flags);
>                         fset = val;
>                         oct = 1;
>                 } else {
> @@ -167,13 +165,11 @@ done:
>                 mode = *argv;
>                 if (*mode >= '0' && *mode <= '7') {
>                         errno = 0;
> -                       val = strtol(mode, &ep, 8);
> +                       val = strtol(mode, (char *)NULL, 8);
>                         if (val > INT_MAX || val < 0)
>                                 errno = ERANGE;
>                         if (errno)
>                                 err(1, "invalid file mode: %s", mode);
> -                       if (*ep)
> -                               errx(1, "invalid file mode: %s", mode);
>                         omode = val;
>                         oct = 1;
>                 } else {
>
>

Reply via email to