Date: Sat, 22 Feb 1997 17:04:48 -0800 (PST) From: "Jonathan M. Bresler" <jmb> To: abelits@phobos.illtel.denver.co.us (Alex Belits) Cc: guido@gvr.win.tue.nl, dillon@best.net, gurney_j@resnet.uoregon.edu, top@sonic.cris.net, audit-bin@FreeBSD.ORG, FreeBSD-hackers@FreeBSD.ORG Subject: *p!='\0' (still) Message-ID: <199702230104.RAA05821@freefall.freebsd.org> In-Reply-To: <Pine.LNX.3.95.970222015956.28017B-100000@phobos.illtel.denver.co.us> from "Alex Belits" at Feb 22, 97 02:03:10 am
index | next in thread | previous in thread | raw e-mail
Alex Belits wrote:
>
> with p=""
> *p != '\0' && p[strlen(p) - 1] == '[' _still_ will read a byte p[-1].
> In most of situations not dangerous, but still potentially unaccessible
> memory (sorry, I have no idea where is this ugly thing from and how p is
> allocated).
not true. the test *p != '\0' fails.
the second half of the && statement is not executed
Aspen:[14] cat /tmp/a.c
#include <stdio.h>
int
main(int argc, char *argv[]) {
char *p = "";
if (*p != '\0') {
printf("passed\n");
} else {
printf("failed\n");
}
}
Aspen:[15] gcc -o /tmp/a.out /tmp/a.c
Aspen:[16] /tmp/a.out
failed
Aspen:[17] uname -a
FreeBSD Aspen.Woc.Atinc.COM 3.0-CURRENT FreeBSD 3.0-CURRENT #0: Sat Feb 22 19:35:37 EST 1997 jmb@Aspen.Woc.Atinc.COM:/usr/src/sys/compile/ASPEN i386
jmb
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199702230104.RAA05821>
