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


Groups > comp.lang.c > #90018 > unrolled thread

double free

Started byG G <gdotone@gmail.com>
First post2016-07-05 02:38 -0700
Last post2016-11-27 10:05 -0800
Articles 14 on this page of 354 — 37 participants

Back to article view | Back to comp.lang.c


Contents

  double free G G <gdotone@gmail.com> - 2016-07-05 02:38 -0700
    Re: double free Ian Collins <ian-news@hotmail.com> - 2016-07-05 21:45 +1200
      Re: double free Eric Sosman <esosman@comcast-dot-net.invalid> - 2016-07-05 07:08 -0400
      Re: double free G G <gdotone@gmail.com> - 2016-07-05 16:41 -0700
    Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-05 10:50 +0100
    Re: double free BartC <bc@freeuk.com> - 2016-07-05 11:06 +0100
      Re: double free BartC <bc@freeuk.com> - 2016-07-05 19:07 +0100
    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-05 12:16 +0000
      Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-05 13:57 +0100
        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-05 08:43 -0700
      Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-05 14:57 +0100
        Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-10 18:49 +0000
      Re: double free G G <gdotone@gmail.com> - 2016-07-05 17:03 -0700
        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-05 17:25 -0700
      Re: double free Jorgen Grahn <grahn+nntp@snipabacken.se> - 2016-07-06 19:09 +0000
        Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-06 15:22 -0400
          Re: double free Nobody <nobody@nowhere.invalid> - 2016-07-09 06:13 +0100
            Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-09 10:16 -0400
              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-09 08:58 -0700
                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-09 13:28 -0700
                Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-11 10:41 +0000
              Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-09 20:27 +0200
                Re: double free "Chris M. Thomasson" <invalid@invalid.invalid> - 2016-07-09 11:31 -0700
                Re: double free Gareth Owen <gwowen@gmail.com> - 2016-07-09 20:14 +0100
                Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-09 15:34 -0400
                  Re: double free jameskuyper@verizon.net - 2016-07-09 14:02 -0700
                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-09 14:10 -0700
                      Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-09 17:14 -0400
                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-09 14:24 -0700
                    Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-09 17:31 -0400
                    Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-09 20:50 -0400
                Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-09 15:50 -0400
                  Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-10 11:32 +0200
                    Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-10 16:01 -0400
                      Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-11 10:07 +0200
                        Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-11 08:15 -0400
                          Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-11 06:53 -0700
                            Re: double free Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-07-11 10:35 -0600
                              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-11 09:48 -0700
                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 11:02 -0700
                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 11:01 -0700
                                Re: double free Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-07-11 13:03 -0600
                            Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 10:57 -0700
                      Re: double free albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-11-27 13:29 +0100
                        Re: double free Melzzzzz <mel@zzzzz.com> - 2016-11-27 14:07 +0100
                  Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-10 13:05 +0100
                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-10 05:31 -0700
                      Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-10 13:42 +0100
                      Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-11 01:07 +0100
                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-09 13:39 -0700
                  Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-10 11:53 +0200
                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-10 04:11 -0700
                      Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-10 08:47 -0400
                    Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-10 16:05 -0400
                Re: double free Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-07-09 17:43 -0600
                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-09 17:32 -0700
                    Re: double free Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-07-09 20:34 -0600
                Re: double free Jorgen Grahn <grahn+nntp@snipabacken.se> - 2016-07-10 06:25 +0000
                  Re: double free supercat@casperkitty.com - 2016-07-11 08:02 -0700
                Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-11 11:01 +0000
                  Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-11 04:07 -0700
                    Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 12:17 +0100
                      Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-11 04:59 -0700
                        Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 13:07 +0100
                          Re: double free BartC <bc@freeuk.com> - 2016-07-11 13:38 +0100
                            Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 14:11 +0100
                              Re: double free BartC <bc@freeuk.com> - 2016-07-11 18:54 +0100
                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 11:09 -0700
                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 19:47 +0100
                                Re: double free Ike Naar <ike@iceland.freeshell.org> - 2016-07-11 19:08 +0000
                                Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-11 21:19 +0100
                                  Re: double free BartC <bc@freeuk.com> - 2016-07-11 21:34 +0100
                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 13:48 -0700
                                    Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-11 22:49 +0100
                                      Re: double free BartC <bc@freeuk.com> - 2016-07-11 23:20 +0100
                                        Re: double free Udyant Wig <udyant.wig@gmail.com> - 2016-07-12 10:26 +0530
                                          Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-11 22:34 -0700
                                            Re: double free Ike Naar <ike@iceland.freeshell.org> - 2016-07-12 06:39 +0000
                                              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-12 00:41 -0700
                                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 08:57 +0100
                                                  Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-12 01:16 -0700
                                                    Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 09:27 +0100
                                                  Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 11:48 +0100
                                            Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 08:46 +0100
                                              Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-12 10:42 +0200
                                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 09:59 +0100
                                                  Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-12 12:46 +0200
                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 09:08 -0700
                                                      Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-12 18:51 +0200
                                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 11:28 -0700
                                                        Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 19:53 +0100
                                                      Re: double free supercat@casperkitty.com - 2016-07-12 12:19 -0700
                                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 14:26 -0700
                                              Re: double free Ken Brody <kenbrody@spamcop.net> - 2016-07-12 11:00 -0400
                                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 16:18 +0100
                                            Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 08:44 -0700
                                              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-12 09:24 -0700
                                                Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 17:34 +0100
                                                  Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-12 09:52 -0700
                                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 09:40 -0700
                                                  Re: double free BartC <bc@freeuk.com> - 2016-07-12 18:22 +0100
                                                  Re: double free Gareth Owen <gwowen@gmail.com> - 2016-07-13 18:33 +0100
                                                    Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-07-13 14:00 -0400
                                                    Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 19:16 +0100
                                                    Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-18 09:15 -0700
                                              Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-18 09:04 -0700
                                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-18 11:10 -0700
                                                  Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-20 08:52 -0700
                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-20 09:36 -0700
                                                      Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-21 18:23 -0700
                                          Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 08:42 +0100
                                          Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 11:24 +0100
                                            Re: double free BartC <bc@freeuk.com> - 2016-07-12 11:52 +0100
                                              Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 13:18 +0100
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-12 16:42 +0100
                                                  Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-12 17:21 +0100
                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 09:35 -0700
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-12 18:08 +0100
                                                      Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-12 18:14 +0100
                                                      Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-18 10:01 -0700
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-18 18:20 +0100
                                                          Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-21 09:26 -0700
                                                            Re: double free BartC <bc@freeuk.com> - 2016-07-21 18:57 +0100
                                                              Re: double free Udyant Wig <udyant.wig@gmail.com> - 2016-07-22 23:41 +0530
                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-22 19:47 +0100
                                                                  Re: double free supercat@casperkitty.com - 2016-07-22 11:58 -0700
                                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-22 12:03 -0700
                                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-22 20:26 +0100
                                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-22 13:12 -0700
                                                                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 08:57 +0000
                                                                      Re: double free BartC <bc@freeuk.com> - 2016-07-23 10:21 +0100
                                                                        Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-23 11:08 +0100
                                                                          Re: double free BartC <bc@freeuk.com> - 2016-07-23 12:36 +0100
                                                                            Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-23 07:14 -0700
                                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-23 16:41 +0100
                                                                            Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:17 +0000
                                                                            Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-23 20:42 +0100
                                                                            Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-23 12:51 -0700
                                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-23 21:50 +0100
                                                                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-23 14:17 -0700
                                                                                  Re: double free luser droog <luser.droog@gmail.com> - 2016-07-23 15:53 -0700
                                                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-23 20:55 -0700
                                                                                      Re: double free luser droog <luser.droog@gmail.com> - 2016-07-23 22:21 -0700
                                                                                      Re: double free BartC <bc@freeuk.com> - 2016-07-24 10:35 +0100
                                                                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-24 02:55 -0700
                                                                                          Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-24 04:05 -0700
                                                                                            Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-24 14:03 +0100
                                                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-24 14:24 +0100
                                                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-24 15:15 +0100
                                                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-24 16:01 +0100
                                                                                                Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-24 11:36 -0700
                                                                                                  Re: double free BartC <bc@freeuk.com> - 2016-07-24 19:52 +0100
                                                                                                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-24 12:14 -0700
                                                                                              Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-24 11:13 -0700
                                                                                                Re: double free Martin Shobe <mashobe9@gmail.com> - 2016-07-24 14:52 -0500
                                                                                                  Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-25 09:59 -0700
                                                                                                    Re: double free Martin Shobe <mashobe9@gmail.com> - 2016-07-25 19:32 -0500
                                                                                                Re: double free supercat@casperkitty.com - 2016-07-25 07:39 -0700
                                                                                  Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-24 10:55 -0700
                                                                            Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-24 08:30 -0700
                                                                        Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-23 11:11 +0100
                                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-23 12:39 -0700
                                                                        Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 20:25 +0000
                                                                  Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-22 12:51 -0700
                                                                    Re: double free supercat@casperkitty.com - 2016-07-22 13:18 -0700
                                                              Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-24 08:23 -0700
                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-24 19:36 +0100
                                                Re: double free albert@cherry.spenarnc.xs4all.nl (Albert van der Horst) - 2016-12-02 10:21 +0100
                                                  Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-02 10:57 +0000
                                                  Re: double free BartC <bc@freeuk.com> - 2016-12-02 12:33 +0000
                                                    Re: double free David Brown <david.brown@hesbynett.no> - 2016-12-02 14:07 +0100
                                                  Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-02 10:19 -0500
                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-12-02 08:56 -0800
                                                      Re: double free "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-02 12:31 -0500
                                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-12-02 11:42 -0800
                                              Re: double free supercat@casperkitty.com - 2016-07-12 08:46 -0700
                                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 09:16 -0700
                                                Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-12 09:27 -0700
                                          Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 08:20 -0700
                                          Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-12 12:47 -0400
                                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-12 22:21 +0000
                                      Re: double free BartC <bc@freeuk.com> - 2016-07-12 23:27 +0100
                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-12 16:28 -0700
                                          Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-13 00:23 -0700
                                            Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 08:43 +0100
                                              Re: double free BartC <bc@freeuk.com> - 2016-07-13 11:21 +0100
                                                Re: double free Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-13 12:56 +0200
                                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 12:35 +0100
                                                  Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-13 10:34 -0400
                                              Re: double free Cal Dershowitz <cal@example.invalid> - 2016-07-15 05:57 -0700
                                            Re: double free BartC <bc@freeuk.com> - 2016-07-13 11:17 +0100
                                              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-13 04:30 -0700
                                              Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 12:33 +0100
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-13 13:41 +0100
                                                  Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 13:57 +0100
                                                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-13 06:10 -0700
                                                      Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 20:08 +0100
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-13 15:11 +0100
                                                      Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 18:14 +0100
                                                        Re: double free Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-13 19:20 +0200
                                                        Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 18:24 +0100
                                                          Re: double free Robert Wessel <robertwessel2@yahoo.com> - 2016-07-15 00:51 -0500
                                                            Re: double free luser droog <luser.droog@gmail.com> - 2016-07-15 02:18 -0700
                                                          Re: double free "Osmium" <r124c4u102@comcast.net> - 2016-07-15 07:12 -0500
                                                            Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-15 13:14 +0100
                                                          Re: double free Rosario19 <Ros@invalid.invalid> - 2016-07-18 09:28 +0200
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-13 18:43 +0100
                                                          Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 20:15 +0100
                                                            Re: double free BartC <bc@freeuk.com> - 2016-07-13 21:14 +0100
                                                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-13 13:24 -0700
                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-13 21:50 +0100
                                                                Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:21 +0000
                                                        Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-13 13:02 -0700
                                                          Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 21:34 +0100
                                                            Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-13 13:51 -0700
                                                              Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-13 22:22 +0100
                                                                Re: double free Robert Wessel <robertwessel2@yahoo.com> - 2016-07-15 01:08 -0500
                                                                  Re: double free Reinhardt Behm <rbehm@hushmail.com> - 2016-07-15 17:33 +0800
                                                                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-15 05:02 -0700
                                                                      Re: double free Reinhardt Behm <rbehm@hushmail.com> - 2016-07-15 21:15 +0800
                                                                      Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 14:48 +0100
                                                                        Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-15 08:02 -0700
                                                                          Re: double free Cal Dershowitz <cal@example.invalid> - 2016-07-18 01:42 -0700
                                                                            Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-18 03:07 -0700
                                                            Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 22:01 +0100
                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-13 22:14 +0100
                                                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-13 14:31 -0700
                                                                Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 23:03 +0100
                                                                  Re: double free "Osmium" <r124c4u102@comcast.net> - 2016-07-13 17:53 -0500
                                                                    Re: double free supercat@casperkitty.com - 2016-07-13 16:18 -0700
                                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-13 16:19 -0700
                                                                  Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-13 22:44 -0400
                                                                  Re: double free Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-14 09:44 +0200
                                                              Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-13 17:07 -0700
                                                                Re: double free supercat@casperkitty.com - 2016-07-14 07:13 -0700
                                                              Re: double free Robert Wessel <robertwessel2@yahoo.com> - 2016-07-15 01:18 -0500
                                                    Re: double free Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-13 10:46 -0400
                                                  Re: double free Robert Wessel <robertwessel2@yahoo.com> - 2016-07-15 00:59 -0500
                                                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-14 23:47 -0700
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-15 11:22 +0100
                                                      Re: double free BartC <bc@freeuk.com> - 2016-07-15 11:35 +0100
                                                      Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 14:33 +0100
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-15 15:16 +0100
                                                          Re: double free BartC <bc@freeuk.com> - 2016-07-15 16:19 +0100
                                                          Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-15 08:39 -0700
                                                            Re: double free BartC <bc@freeuk.com> - 2016-07-15 16:54 +0100
                                                              Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 21:20 +0100
                                                          Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 16:45 +0100
                                                            Re: double free BartC <bc@freeuk.com> - 2016-07-15 17:15 +0100
                                                              Re: double free BartC <bc@freeuk.com> - 2016-07-15 17:42 +0100
                                                                Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 21:18 +0100
                                                              Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 21:06 +0100
                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-15 21:46 +0100
                                                                  Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 23:08 +0100
                                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-16 01:26 +0100
                                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-15 18:22 -0700
                                                                        Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-15 18:48 -0700
                                                                      Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-15 18:40 -0700
                                                            Re: double free supercat@casperkitty.com - 2016-07-15 10:09 -0700
                                                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-15 11:07 -0700
                                                                Re: double free supercat@casperkitty.com - 2016-07-15 12:11 -0700
                                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-15 12:30 -0700
                                                                    Re: double free supercat@casperkitty.com - 2016-07-15 12:41 -0700
                                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-15 13:04 -0700
                                                                        Re: double free supercat@casperkitty.com - 2016-07-15 14:26 -0700
                                                                      Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-19 10:00 -0700
                                              Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 12:46 +0100
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-13 13:19 +0100
                                                  Re: double free BartC <bc@freeuk.com> - 2016-07-13 13:30 +0100
                                                  Re: double free Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-13 20:53 +0100
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-13 21:37 +0100
                                                Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-13 05:22 -0700
                                              Re: double free supercat@casperkitty.com - 2016-07-13 07:07 -0700
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-14 19:31 +0100
                                                  Re: double free supercat@casperkitty.com - 2016-07-14 12:10 -0700
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-14 23:16 +0100
                                                      Re: double free supercat@casperkitty.com - 2016-07-14 16:00 -0700
                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-14 12:34 -0700
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-14 20:57 +0100
                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-14 13:15 -0700
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-14 21:27 +0100
                                                        Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-14 21:31 +0100
                                          Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-18 09:46 -0700
                                            Re: double free BartC <bc@freeuk.com> - 2016-07-19 13:32 +0100
                                              Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 13:46 +0100
                                                Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 06:00 -0700
                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-19 09:23 -0700
                                                    Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 09:38 -0700
                                                      Re: double free BartC <bc@freeuk.com> - 2016-07-19 17:51 +0100
                                                        Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 18:22 +0100
                                                        Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 09:02 +0000
                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-19 11:42 -0700
                                                        Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 12:27 -0700
                                                      Re: double free Philip Lantz <prl@canterey.us> - 2016-07-21 10:02 -0700
                                                        Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-21 10:25 -0700
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-21 18:27 +0100
                                                      Re: double free Cal Dershowitz <cal@example.invalid> - 2016-07-29 00:42 -0700
                                                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 08:59 +0000
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-19 15:22 +0100
                                                  Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 15:59 +0100
                                                    Re: double free BartC <bc@freeuk.com> - 2016-07-19 16:39 +0100
                                                      Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 16:55 +0100
                                                        Re: double free BartC <bc@freeuk.com> - 2016-07-19 17:49 +0100
                                                          Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 18:20 +0100
                                                            Re: double free BartC <bc@freeuk.com> - 2016-07-19 19:03 +0100
                                                              Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-19 19:22 +0100
                                                                sizeof (was Re: double free) Ken Brody <kenbrody@spamcop.net> - 2016-07-19 14:44 -0400
                                                                  Re: sizeof (was Re: double free) Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 12:31 -0700
                                                                Re: double free BartC <bc@freeuk.com> - 2016-07-19 22:46 +0100
                                                                  Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-19 15:19 -0700
                                                                  Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-20 00:21 +0100
                                                                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:21 +0000
                                                              Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-19 12:08 -0700
                                                      Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-19 09:41 -0700
                                              Re: double free Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-21 18:10 -0700
                                                Re: double free BartC <bc@freeuk.com> - 2016-07-22 11:23 +0100
                                                  Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-22 03:40 -0700
                                                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-22 10:33 -0700
                                                      Re: double free Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-22 12:47 -0700
                                Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-12 22:18 +0000
                            Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 10:53 -0700
                              Re: double free BartC <bc@freeuk.com> - 2016-07-11 21:20 +0100
                                Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 13:56 -0700
                                  Re: double free BartC <bc@freeuk.com> - 2016-07-11 22:39 +0100
                                    Re: double free David Brown <david.brown@hesbynett.no> - 2016-07-12 10:57 +0200
                                Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 21:58 +0100
                    Re: double free BartC <bc@freeuk.com> - 2016-07-11 13:23 +0100
                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-11 13:00 +0000
                    Re: double free Keith Thompson <kst-u@mib.org> - 2016-07-11 10:44 -0700
                      Re: double free Gareth Owen <gwowen@gmail.com> - 2016-07-11 19:10 +0100
                        Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 20:22 +0100
                          Re: double free BartC <bc@freeuk.com> - 2016-07-11 21:11 +0100
                          Re: double free Gareth Owen <gwowen@gmail.com> - 2016-07-11 21:49 +0100
                            Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 22:01 +0100
                  Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-11 09:09 -0400
                    Re: double free Richard Heathfield <rjh@cpax.org.uk> - 2016-07-11 14:16 +0100
                    Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-15 13:51 +0000
                      Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-15 12:04 -0400
                  Re: double free Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-11 17:51 +0200
              Re: double free raltbos@xs4all.nl (Richard Bos) - 2016-07-11 10:19 +0000
    Re: double free Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-07-05 08:57 -0600
    Re: double free James Kuyper <jameskuyper@verizon.net> - 2016-07-05 11:13 -0400
      Re: double free supercat@casperkitty.com - 2016-07-05 09:05 -0700
        Re: double free G G <gdotone@gmail.com> - 2016-07-05 16:38 -0700
      Re: double free G G <gdotone@gmail.com> - 2016-07-05 16:34 -0700
    Re: double free Nobody <nobody@nowhere.invalid> - 2016-07-06 04:10 +0100
      Re: double free Siri Cruise <chine.bleu@yahoo.com> - 2016-07-05 21:27 -0700
        Re: double free supercat@casperkitty.com - 2016-07-06 02:53 -0700
          Re: double free Siri Cruise <chine.bleu@yahoo.com> - 2016-07-06 06:09 -0700
            Re: double free supercat@casperkitty.com - 2016-07-06 07:53 -0700
      Re: double free "Chris M. Thomasson" <invalid@invalid.invalid> - 2016-07-06 01:25 -0700
      Re: double free BartC <bc@freeuk.com> - 2016-07-06 11:12 +0100
    Re: double free Thiago Adams <thiago.adams@gmail.com> - 2016-11-27 09:52 -0800
      Re: double free supercat@casperkitty.com - 2016-11-27 10:05 -0800

Page 18 of 18 — ← Prev page 1 … 16 17 [18]


#90034

FromJoe Pfeiffer <pfeiffer@cs.nmsu.edu>
Date2016-07-05 08:57 -0600
Message-ID<1bzipw5dzn.fsf@pfeifferfamily.net>
In reply to#90018
G G <gdotone@gmail.com> writes:

> the code fragments come from Understanding and Using C 
> Pointers. pp. 48 - 49
>
> int *pi = (int*) malloc(sizeof(int)); 
> *pi = 5;
>
> free(pi);
> ...
> free(pi);
>
> the author explains this creates a runtime error
>
> ------------------
>
> p1 = (int*) malloc(sizeof(int));
> int *p2 = p1;
>
> free(p1);
> ...
> free(p2);
>
> also this creates a runtime error.
>
> so there is no check to see if another variable is
> pointing to that location in memory before it is freed?

Correct.  C has no way to make that check (you can write your own code
that does, but that still wouldn't be C doing it in the sense of the
code you showed).

> reference counting, i've only read a little bit about in
> objective-c, was a way to handle this occurrence? 

Yes.

[toc] | [prev] | [next] | [standalone]


#90035

FromJames Kuyper <jameskuyper@verizon.net>
Date2016-07-05 11:13 -0400
Message-ID<nlgiqt$k6k$1@dont-email.me>
In reply to#90018
On 07/05/2016 05:38 AM, G G wrote:
> the code fragments come from Understanding and Using C 
> Pointers. pp. 48 - 49
> 
> int *pi = (int*) malloc(sizeof(int)); 
> *pi = 5;
> 
> free(pi);
> ...
> free(pi);
> 
> the author explains this creates a runtime error
> 
> ------------------
> 
> p1 = (int*) malloc(sizeof(int));
> int *p2 = p1;
> 
> free(p1);
> ...
> free(p2);
> 
> also this creates a runtime error.
> 
> so there is no check to see if another variable is
> pointing to that location in memory before it is freed?

No. That would require free() to be far slower than it normally is.

The standard merely specifies that the behavior is undefined, but I
think it might help you to have some basic idea of how malloc() and
free() can be implemented, so you understand why it's undefined. The
implementation I describe below is based upon my memory of the first
edition of K&R C. It is a very simple implementation, more sophisticated
ones exist. However, the C standard was written to allow implementations
as simple as this one, and most implementations I know of will radically
malfunction at the second free(pi) for reasons similar to the reason
that this implementation will. Note: it's been three decades since I
last read that chapter of K&R, so I won't be surprised if I get some of
the details wrong. I'll try to be vague enough to cover up at least some
of my memory lapses.

The heap is divided into blocks with a fixed size that is a multiple of
the strictest alignment requirement. The heap is divided into regions,
each containing an integer number of blocks, with each region being
either free or allocated. Each region has a header stored at the
beginning of region. Among other things the header might contain is the
size of the region. Each free region's header also contains a pointer to
the start of the next free region (or possibly just a block index).
There is a pointer outside of the heap that points to the first free region.

When you call malloc(), it rounds the requested space up to a multiple
of the block size, and then adds to that number the size, in blocks, of
the header that is stored at the beginning of each allocated region. It
searches the free list for the first block that is large enough to hold
the requested allocation. It returns a null pointer if it can't find one.

It removes the selected region from the free list. If there's enough
room in the selected region, malloc() splits it into two regions: one to
serve for this allocation, and a new free region, which is added to the
free list.

It fills in the header for the allocated region with, among other
things, the size of the allocated region in blocks. It returns a pointer
to the first block after the header.

free() takes the pointer it is given, assumes that it is a valid pointer
to the first block of a currently allocated region. It moves it
backwards far enough to point at the corresponding header. It uses the
size information in the header to locate the start of the next region.
If that region is free, it removes that region from the free list, and
merges the two regions together as a single new free region. The region
is then added to the free list. It could then look for the previous free
region (which would require the free region header to be a doubly-linked
list), so it can merge them, too.

The key point here is that the information about each region on the heap
is stored at the beginning of that region, and nowhere else. If you pass
free() a pointer, it just assumes without checking whether it's a valid
pointer. It just assumes that it will find the header for an allocated
region at a fixed negative offset from that pointer. If there is not, in
fact, such a header, things can go very wrong, very fast.

Other more sophisticated implementations will fail in different ways,
but few (if any) implementations of malloc() and free() that I've ever
heard of work by keeping a list of currently valid pointers, and
searching that list for a match. Without such validation, attempting to
free() a block that has already been free()d is virtually guaranteed to
fail catastrophically.

[toc] | [prev] | [next] | [standalone]


#90039

Fromsupercat@casperkitty.com
Date2016-07-05 09:05 -0700
Message-ID<7dd78a4b-f9ee-4a62-91b9-fc1e3a6fd740@googlegroups.com>
In reply to#90035
On Tuesday, July 5, 2016 at 10:13:44 AM UTC-5, James Kuyper wrote:
> The standard merely specifies that the behavior is undefined, but I
> think it might help you to have some basic idea of how malloc() and
> free() can be implemented, so you understand why it's undefined.

Another way of thinking of malloc/free is that the purpose of free() is
not to destroy memory, but rather add it to a free memory pool, and the
purpose of malloc is to take some of the memory from the free pool and
give it to the program, making it unavailable for future allocations.
Giving the same block of memory to "free()" twice may cause it to be
added to the pool twice; even if that doesn't cause immediate corruption
of the free-block list, a future call to "malloc" would have no reason to
remove the block from the pool twice, and would thus tell the application
it could use a region of memory that was still in the pool.

BTW, some allocation systems require that calls which add memory to the
pool must indicate the size of the block in question.  A C implementation
for such a system would typically have to allocate one alignment unit more
than requested by the application and store the block size at the start of
the allocation.  If code didn't need the ability to call "free" without
specifying a size, such implementations would not need to impose any per-
block overhead on any allocations over a minimum size, since they would
be able to store all book-keeping information within free blocks.

[toc] | [prev] | [next] | [standalone]


#90059

FromG G <gdotone@gmail.com>
Date2016-07-05 16:38 -0700
Message-ID<adad1a5e-6ae4-4e28-9704-aaf7c4de4f0e@googlegroups.com>
In reply to#90039
On Tuesday, July 5, 2016 at 12:05:27 PM UTC-4, supe...@casperkitty.com wrote:

... (some text clipped) 

> Another way of thinking of malloc/free is that the purpose of free() is
> not to destroy memory, but rather add it to a free memory pool, and the
> purpose of malloc is to take some of the memory from the free pool and
> give it to the program, making it unavailable for future allocations.
> Giving the same block of memory to "free()" twice may cause it to be
> added to the pool twice; even if that doesn't cause immediate corruption
> of the free-block list, a future call to "malloc" would have no reason to
> remove the block from the pool twice, and would thus tell the application
> it could use a region of memory that was still in the pool.
> 
> BTW, some allocation systems require that calls which add memory to the
> pool must indicate the size of the block in question.  A C implementation
> for such a system would typically have to allocate one alignment unit more
> than requested by the application and store the block size at the start of
> the allocation.  If code didn't need the ability to call "free" without
> specifying a size, such implementations would not need to impose any per-
> block overhead on any allocations over a minimum size, since they would
> be able to store all book-keeping information within free blocks.

Thanks supe...@casperkitty.com,

You and James have really help me to understand the why.

g.

[toc] | [prev] | [next] | [standalone]


#90058

FromG G <gdotone@gmail.com>
Date2016-07-05 16:34 -0700
Message-ID<9cc24ac1-11e9-4c79-9a45-0759c02dd178@googlegroups.com>
In reply to#90035
On Tuesday, July 5, 2016 at 11:13:44 AM UTC-4, James Kuyper wrote:

... (some text clipped)

> The standard merely specifies that the behavior is undefined, but I
> think it might help you to have some basic idea of how malloc() and
> free() can be implemented, so you understand why it's undefined.

...(some text clipped)

That explanation was really great and it does help.

Thanks James,

g.

[toc] | [prev] | [next] | [standalone]


#90063

FromNobody <nobody@nowhere.invalid>
Date2016-07-06 04:10 +0100
Message-ID<pan.2016.07.06.03.10.52.844000@nowhere.invalid>
In reply to#90018
On Tue, 05 Jul 2016 02:38:10 -0700, G G wrote:

> reference counting, i've only read a little bit about in objective-c, was
> a way to handle this occurrence?

Reference counting is one solution, but it's expensive, and also
error-prone in a language like C where you can't arrange for it to happen
automatically. It requires incementing the reference count whenever you
copy a pointer and decrementing it whenever a copy of a pointer is
discarded. That's not too difficult in a language which has classes with
constructors, destructors and user-defined assignment (e.g. C++), but in C
you have to do it all manually and you have to catch every case.

And reference counting can't handle cyclic references (where A contains a
pointer to B which may contain a pointer back to A). To handle that, you
need reachability-based garbage collection. Which is even more expensive
than reference counting (although it's easier to retro-fit to languages
like C).

These are techniques which you only use if you have to, e.g. if it's
unrealistic to keep track of object lifetimes (this is often the case for
programming language interpreters, where object lifetime is determined
entirely by the program being interpreted), and/or the code needs a degree
of immunity to dangling pointer bugs or memory leaks.

[toc] | [prev] | [next] | [standalone]


#90064

FromSiri Cruise <chine.bleu@yahoo.com>
Date2016-07-05 21:27 -0700
Message-ID<chine.bleu-B74B23.21271805072016@news.eternal-september.org>
In reply to#90063
In article <pan.2016.07.06.03.10.52.844000@nowhere.invalid>,
 Nobody <nobody@nowhere.invalid> wrote:

> And reference counting can't handle cyclic references (where A contains a
> pointer to B which may contain a pointer back to A). To handle that, you
> need reachability-based garbage collection. Which is even more expensive
> than reference counting (although it's easier to retro-fit to languages
> like C).

I've been using a mark-sweep collector for years without performance issues. 
Besides cyclic references, reference counting increases the load on memory for 
every address move. Having neither requires the programmer maintain large 
amounts of code that nearly replicates the same storage management, but is 
slightly different each time. Dealing with that or breaking cycles increases the 
cognitive load on the programmer to keep solving a previously solved problem.

> These are techniques which you only use if you have to, e.g. if it's
> unrealistic to keep track of object lifetimes (this is often the case for

Any language with closures, such as object oriented programming (ObjC, C++) 
requires something more. C++ is such a mess because it tried to get by on the 
cheap, turning the language into a patch generating device. Compare the 
likelihood of writing a correct nontrivial program in C++ compared to Java or 
even Javascript.

-- 
:-<> Siri Seal of Disavowal #000-001. Disavowed. Denied. Deleted.
'I desire mercy, not sacrifice.'
If you assume the final scene is a dying delusion as Tom Cruise drowns below
the Louvre, then Edge of Tomorrow has a happy ending. Kill Tom repeat..

[toc] | [prev] | [next] | [standalone]


#90071

Fromsupercat@casperkitty.com
Date2016-07-06 02:53 -0700
Message-ID<d0175ff5-101c-48fb-bd28-b7171bf54269@googlegroups.com>
In reply to#90064
On Tuesday, July 5, 2016 at 11:27:44 PM UTC-5, Siri Cruise wrote:
> I've been using a mark-sweep collector for years without performance issues. 
> Besides cyclic references, reference counting increases the load on memory for 
> every address move. Having neither requires the programmer maintain large 
> amounts of code that nearly replicates the same storage management, but is 
> slightly different each time. Dealing with that or breaking cycles increases the 
> cognitive load on the programmer to keep solving a previously solved problem.

Stop-the-world mark/sweep reference counting can yield good throughput on
multi-processor systems if the collector has enough meta-data available to
observe the state of other threads, since it can avoid the need for a lot
of inter-processor synchronization when using shared immutable objects.  I
don't think it's a good fit for C, though.  In C, if a pointer is output to
the console and copied to a sheet of paper by the operator, and all copies
of that pointer within the computer are subsequently destroyed, behavior
would be defined if the operator typed in the pointer that was previously
displayed and the program subsequently used it.  I don't see any way a GC
could keep all of C's defined semantics without permanently leaking any
memory whose address might get stored in a way the computer can't know
anything about.

[toc] | [prev] | [next] | [standalone]


#90076

FromSiri Cruise <chine.bleu@yahoo.com>
Date2016-07-06 06:09 -0700
Message-ID<chine.bleu-D0E31F.06093706072016@news.eternal-september.org>
In reply to#90071
In article <d0175ff5-101c-48fb-bd28-b7171bf54269@googlegroups.com>,
 supercat@casperkitty.com wrote:

> don't think it's a good fit for C, though.  In C, if a pointer is output to
> the console and copied to a sheet of paper by the operator, and all copies
> of that pointer within the computer are subsequently destroyed, behavior
> would be defined if the operator typed in the pointer that was previously

Apparently it doesn't go without saying that any memory management scheme 
doesn't cope well with page out to decwriter.

-- 
:-<> Siri Seal of Disavowal #000-001. Disavowed. Denied. Deleted.
'I desire mercy, not sacrifice.'
If you assume the final scene is a dying delusion as Tom Cruise drowns below
the Louvre, then Edge of Tomorrow has a happy ending. Kill Tom repeat..

[toc] | [prev] | [next] | [standalone]


#90081

Fromsupercat@casperkitty.com
Date2016-07-06 07:53 -0700
Message-ID<d320e03b-4722-470d-99d9-eefa68716cbe@googlegroups.com>
In reply to#90076
On Wednesday, July 6, 2016 at 8:10:10 AM UTC-5, Siri Cruise wrote:
> Apparently it doesn't go without saying that any memory management scheme 
> doesn't cope well with page out to decwriter.

Actually, neither .NET nor Java would have a problem with that, since
they both regard object references as something which have no observable
representation and cannot be loaded from or copied to any other type;
while .NET does recognize the concept of doing a direct-memory-copy
operation between structure types with different layouts, such operations
are only permitted if the locations and types of any nested reference
fields match perfectly.

[toc] | [prev] | [next] | [standalone]


#90065

From"Chris M. Thomasson" <invalid@invalid.invalid>
Date2016-07-06 01:25 -0700
Message-ID<nlifak$fm5$1@dont-email.me>
In reply to#90063
On 7/5/2016 8:10 PM, Nobody wrote:
> On Tue, 05 Jul 2016 02:38:10 -0700, G G wrote:
>
>> reference counting, i've only read a little bit about in objective-c, was
>> a way to handle this occurrence?
>
> Reference counting is one solution, but it's expensive, and also
> error-prone in a language like C where you can't arrange for it to happen
> automatically. It requires incementing the reference count whenever you
> copy a pointer and decrementing it whenever a copy of a pointer is
> discarded.

[...]

One can use proxy reference counting as an alternative. It has the nice 
property of amortizing counter operations.

[toc] | [prev] | [next] | [standalone]


#90072

FromBartC <bc@freeuk.com>
Date2016-07-06 11:12 +0100
Message-ID<nlilj5$55c$1@dont-email.me>
In reply to#90063
On 06/07/2016 04:10, Nobody wrote:
> On Tue, 05 Jul 2016 02:38:10 -0700, G G wrote:
>
>> reference counting, i've only read a little bit about in objective-c, was
>> a way to handle this occurrence?
>
> Reference counting is one solution, but it's expensive, and also
> error-prone in a language like C where you can't arrange for it to happen
> automatically. It requires incementing the reference count whenever you
> copy a pointer and decrementing it whenever a copy of a pointer is
> discarded. That's not too difficult in a language which has classes with
> constructors, destructors and user-defined assignment (e.g. C++), but in C
> you have to do it all manually and you have to catch every case.
>
> And reference counting can't handle cyclic references

There are plenty of other problems before you get to that point.

If a reference-counted pointer P is created to an array A, then you 
can't just create or pass a normal pointer Q to an element &A[i]. The 
reference count for P must be incremented.

So Q must contain a reference to P as well as to A[i]. Copying or 
passing Q must also maintain the P reference.

Unless A is an array of reference-counted objects, then the rules change 
again.

So mixing normal pointers with reference-counted pointers creates 
difficulties. C provides no protection against that.

-- 
Bartc

[toc] | [prev] | [next] | [standalone]


#97597

FromThiago Adams <thiago.adams@gmail.com>
Date2016-11-27 09:52 -0800
Message-ID<97446c2b-7f3c-4bbe-ab00-f12ece3506b2@googlegroups.com>
In reply to#90018
On Tuesday, July 5, 2016 at 6:38:27 AM UTC-3, G G wrote:
> the code fragments come from Understanding and Using C 
> Pointers. pp. 48 - 49
> 
> int *pi = (int*) malloc(sizeof(int)); 
> *pi = 5;
> 
> free(pi);
> ...
> free(pi);
> 
> the author explains this creates a runtime error
> 
> ------------------
> 
> p1 = (int*) malloc(sizeof(int));
> int *p2 = p1;
> 
> free(p1);
> ...
> free(p2);
> 
> also this creates a runtime error.
> 
> so there is no check to see if another variable is
> pointing to that location in memory before it is freed?
> 
> reference counting, i've only read a little bit about in
> objective-c, was a way to handle this occurrence?

The checks must be done statically my a person or by a static analysis software.
Also it's possible to make some runtime checks in debug mode.
When the memory is released (returns to the allocator) then it can mark the memory as free. Then you can have a asserting in runtime showing you did a mistake calling free two times.
This is just one of the possible problems with pointers. 
We also can made some testes in debug mode runtime for memory leaks.

Reference counting or garbage colletor should not be used when the problem can be solved statically. 
Reference counting can be used ,for instance, when you cannot determine looking at the code which pointer will be released first. This is commom when you have a resource being used by many threads.





[toc] | [prev] | [next] | [standalone]


#97599

Fromsupercat@casperkitty.com
Date2016-11-27 10:05 -0800
Message-ID<5b19686d-4784-4942-9c71-7fb59a24e553@googlegroups.com>
In reply to#97597
On Sunday, November 27, 2016 at 11:52:23 AM UTC-6, Thiago Adams wrote:
> Reference counting can be used ,for instance, when you cannot determine looking at the code which pointer will be released first. This is commom when you have a resource being used by many threads.

Most kinds of mutable object will generally have one clear owner that can
be statically established.  The place where things really get messy is when
an object of mutable type is held by a wrapper which makes it immutable.
If the universe could be cleanly partitioned into mutable objects with
easily-tracked owners, and immutable objects that only reference immutable
objects which were created before them, things would be simple.  The ability
to encapsulate a mutable type within a wrapper that makes it immutable,
however, is so useful that there really needs to be a category of objects
which are of mutable type, but may be shared because they won't be mutated.

[toc] | [prev] | [standalone]


Page 18 of 18 — ← Prev page 1 … 16 17 [18]

Back to top | Article view | comp.lang.c


csiph-web