home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #16 / NN_1992_16.iso / spool / comp / lang / c / 11798 < prev    next >
Encoding:
Internet Message Format  |  1992-07-30  |  2.0 KB

  1. Path: sparky!uunet!oracle!unrepliable!bounce
  2. Newsgroups: comp.lang.c
  3. From: wkaufman@us.oracle.com (William Kaufman)
  4. Subject: Re: Pointers to freed memory
  5. Message-ID: <1992Jul31.035905.20683@oracle.us.oracle.com>
  6. Sender: usenet@oracle.us.oracle.com (Oracle News Poster)
  7. Nntp-Posting-Host: hqsun2.us.oracle.com
  8. Organization: Oracle Corporation, Redwood Shores CA
  9. References: <1992Jul29.205834.11308@hubcap.clemson.edu> <3179@dozo.and.nl> <1992Jul30.164035.7349@taumet.com>
  10. Date: Fri, 31 Jul 1992 03:59:05 GMT
  11. X-Disclaimer: This message was written by an unauthenticated user
  12.               at Oracle Corporation.  The opinions expressed are those
  13.               of the user and not necessarily those of Oracle.
  14. Lines: 29
  15.  
  16.     Sorry to post asking for random machine specifics, but this one
  17. intrigued me.  If what Steve says is true, there's a whole lot of busted
  18. code out there,...some of it with my name on it,...
  19.  
  20. In article <1992Jul30.164035.7349@taumet.com> steve@taumet.com (Steve Clamage) writes:
  21. ] The C Standard states that the value of the pointer after a call to free
  22. ] is 'indeterminate'.  This means that just reading the value might
  23. ] produce a runtime fault.
  24.  
  25.     Well, OK, the pointer will be useless, but will it really be
  26. dangerous?  What he's got is essentially:
  27.  
  28.         struct something *p = (struct something *)rand();
  29.  
  30. Could this assignment really cause a fault?  Even if p is never
  31. dereferenced?  I know this is an improper question, but what machines is
  32. this true for?
  33.  
  34.     I can't count the times that I've freed a circular list the way the
  35. original poster did--save the old "next" pointer, free this one, move on
  36. to the saved "next".  If what you say is true, you'd have to stop at
  37. one-before-the-end and free that one without checking the next pointer.
  38.  
  39.                                            -- Bill K.
  40.  
  41. Bill Kaufman,          | "...all conscious species are plastic and
  42. Corporate Lackey       |  all plastic species are conscious."
  43. wkaufman@us.oracle.com |                     -- Yew-Kwang Ng
  44.