Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #103344

Re: Error message for a dangling pointer

Path csiph.com!eternal-september.org!feeder.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: Error message for a dangling pointer
Date Mon, 06 Feb 2017 18:02:59 -0800
Organization None to speak of
Lines 45
Message-ID <ln1sva3gh8.fsf@kst-u.example.com> (permalink)
References <dangling-pointers-20170207022252@ram.dialup.fu-berlin.de>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
Injection-Info mx02.eternal-september.org; posting-host="04056ce4c9c7dd85ee7ce897aab9f52a"; logging-data="30489"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1+Ym3YHaIkmMyaO5DcCCDe1"
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)
Cancel-Lock sha1:sbFGBbuMB3OTjvbs92p1WSusvMg= sha1:9+JjqzzMXqSnlhRu/UltcOdw0Jc=
Xref csiph.com comp.lang.c:103344

Show key headers only | View raw


ram@zedat.fu-berlin.de (Stefan Ram) writes:
>   For teaching purposes, I just wrote this program to show
>   dangling pointers:
>
> #include <stdio.h>
> int main( void )
> { int * p;
>   { int i = 27; p = &i; }
>   printf( "%d\n", *p ); }

(A side note: Your students might later have difficulties with more, um,
conventional C code layouts.)

>   I hope you all agree that »p« in the last line /is/
>   a dangling pointer.

Yes.

>   The error message and output is not what I expected,
>   but still interesting:
>
> main.c: In function 'main':
> main.c:6:3: warning: 'i' is used uninitialized in this function [-Wuninitialized]
>    printf( "%d\n", *p ); }
>    ^
> main.c:5:9: note: 'i' was declared here
>    { int i = 27; p = &i; }
>          ^
> 0
>
>   »i« /was/ initialized in the program,
>   so the error message is not accurate.
>
>   (I do not write »misleading«, since it is so
>   obviously wrong that it won't mislead anyone.)

I get that message with gcc 6.3.0, and with a gcc snapshot from
2017-01-12 that claims to be gcc 7.0.0, but not with gcc 6.2.0
(or with clang).

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

Back to comp.lang.c | Previous | Next — Next in thread | Find similar | Unroll thread


Thread

Re: Error message for a dangling pointer Keith Thompson <kst-u@mib.org> - 2017-02-06 18:02 -0800
  Re: Error message for a dangling pointer BartC <bc@freeuk.com> - 2017-02-07 15:07 +0000
    Re: Error message for a dangling pointer David Brown <david.brown@hesbynett.no> - 2017-02-07 16:24 +0100

csiph-web