This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Dec 24, 2014, at 9:28 AM, Dimitris Papavasiliou <dpapavas@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 <dpapavas@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
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |