On Dec 24, 2014, at 9:28 AM, Dimitris Papavasiliou <dpapa...@gmail.com> wrote:
> The attached patch fixes an issue reported a couple of years ago in Bug 51891 
> (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=51891).  The problem is caused 
> because classes without instance variables have no ivar list at all, so that 
> their ivars pointer is NULL, but the code in class_copyIvarList () is unaware 
> of this.
> 
> That this is in fact so can be easily verified by checking the code of 
> class_addIvar in the same source file, where the ivars list is allocated when 
> the first ivar is added.  The code there also checks for a NULL ivars pointer.
> 
> The patch also adds a simple test-case for this issue.  I think that the 
> ChangeLog entry should be something along the lines of:
> 
>   2014-12-24  Dimitris Papavasiliou  <dpapa...@gmail.com>
> 
>         PR libobjc/51891
>         * libobjc/ivars.c: Add a check for classes without instance
>       variables, which have a NULL ivar list pointer.
>         * gcc/testsuite/objc.dg/gnu-api-2-class.m: Add a test case
>       for the above change.
> 
> I hope I got the formatting right.  I've run make -k check-objc and all tests 
> pass without problems.
> 
> Let me know if there are any problems, or if I can do anything else to 
> facilitate the acceptance of the patch.
> 
> Regards,
> Dimitris

So, Andrew is the reviewer for libobjc.  I’m not.  I don’t have any issue with 
it.

Andrew?

Attachment: class_copyIvarList_bugfix.diff
Description: Binary data

Reply via email to