Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Aug 2001 15:33:26 -0400
From:      Mike Barcroft <mike@FreeBSD.org>
To:        Kris Kennaway <kris@obsecurity.org>
Cc:        audit@FreeBSD.org
Subject:   Re: Checking issetugid() with getenv() in libraries
Message-ID:  <20010819153326.B49129@coffee.q9media.com>
In-Reply-To: <20010818222846.B79436@xor.obsecurity.org>; from kris@obsecurity.org on Sat, Aug 18, 2001 at 10:28:46PM -0700
References:  <20010818221258.A79194@xor.obsecurity.org> <20010818222846.B79436@xor.obsecurity.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Kris Kennaway <kris@obsecurity.org> writes:
> Another one:
> 
> Index: ./libdialog/rc.c
> ===================================================================
> RCS file: /mnt/ncvs/src/gnu/lib/libdialog/rc.c,v
> retrieving revision 1.2
> diff -u -r1.2 rc.c
> --- ./libdialog/rc.c	1994/10/20 21:56:43	1.2
> +++ ./libdialog/rc.c	2001/08/19 05:27:47
> @@ -103,12 +103,12 @@
>     *
>     */
>  
> -  if ((tempptr = getenv("DIALOGRC")) != NULL)
> +  if (issetugid() == 0 && (tempptr = getenv("DIALOGRC")) != NULL)
>      rc_file = fopen(tempptr, "rt");
>  
>    if (tempptr == NULL || rc_file == NULL) {    /* step (a) failed? */
>      /* try step (b) */
> -    if ((tempptr = getenv("HOME")) == NULL)
> +    if (issetugid() != 0 || (tempptr = getenv("HOME")) == NULL)
>        return 0;    /* step (b) failed, use default values */
>  
>      if (tempptr[0] == '\0' || lastch(tempptr) == '/')

Same problem here as well, unless tempptr is initialized to NULL above
this.

Best regards,
Mike Barcroft

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-audit" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010819153326.B49129>