Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #168103
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: container_of macro... |
| Date | 2022-11-01 11:06 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87leovszmt.fsf@bsb.me.uk> (permalink) |
| References | (2 earlier) <20210309194126.744@kylheku.com> <pgfthh-to3.ln1@wilbur.25thandClement.com> <9bf38715-21be-4679-9613-2fb682455d78n@googlegroups.com> <a642a1b6-a80f-4959-b161-83a99a51d3b1n@googlegroups.com> <tjq6qo$ncr3$1@dont-email.me> |
James Kuyper <jameskuyper@alumni.caltech.edu> writes: > On 10/31/22 06:27, tylo wrote: > .. >> #define container_of(ptr, type, member) \ >> ((type*)((char*)(ptr) + 0*sizeof((ptr) == &((type*)0)->member) - > offsetof(type, member))) > > (type*)0->member dereferences a null pointer. As a result, such code has > undefined behavior. It's in the unevaluated operand of the sizeof operator. The comparison is there just to provoke type-checking (the main thrust of this subthread) and I imagine the sizeof is there to avoid the implied UB. -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: container_of macro... tylo <tylovset@gmail.com> - 2022-10-31 03:27 -0700
Re: container_of macro... James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-11-01 00:20 -0400
Re: container_of macro... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-11-01 11:06 +0000
Re: container_of macro... tylo <tylovset@gmail.com> - 2022-11-02 07:15 -0700
Re: container_of macro... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-11-02 16:00 +0000
Re: container_of macro... Richard Damon <Richard@Damon-Family.org> - 2022-11-02 21:00 -0400
Re: container_of macro... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-11-03 01:03 +0000
Re: container_of macro... Richard Damon <Richard@Damon-Family.org> - 2022-11-02 21:43 -0400
Re: container_of macro... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2022-11-03 15:29 +0000
Re: container_of macro... tylo <tylovset@gmail.com> - 2022-11-16 03:38 -0800
Re: container_of macro... James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-11-03 00:15 -0400
Re: container_of macro... Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-19 06:35 -0800
Re: container_of macro... David Brown <david.brown@hesbynett.no> - 2022-11-02 17:31 +0100
Re: container_of macro... Andrey Tarasevich <andreytarasevich@hotmail.com> - 2022-11-02 10:09 -0700
Re: container_of macro... Tim Rentsch <tr.17687@z991.linuxsc.com> - 2022-11-19 11:27 -0800
Re: container_of macro... James Kuyper <jameskuyper@alumni.caltech.edu> - 2022-11-03 00:14 -0400
Re: container_of macro... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-11-02 21:28 -0700
Re: container_of macro... "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2022-11-02 21:29 -0700
csiph-web