Closed Bug 276512 Opened 20 years ago Closed 20 years ago

Error in NS_IMPL_CI_INTERFACE_GETTER11 macro in nsISupportsImpl.h

Categories

(Core :: XPCOM, defect)

x86
Windows 2000
defect
Not set
critical

Tracking

()

RESOLVED FIXED

People

(Reporter: synprak, Assigned: dougt)

References

()

Details

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.0; de-DE; rv:1.7.5) Gecko/20041108 Firefox/1.0
Build Identifier: 

Concerning mozilla/xpcom/glue/nsISupportsImpl.h line 1088, the
NS_IMPL_CI_INTERFACE_GETTER11 macro.
Imho the NS_CLASSINFO_HELPER_BEGIN contains the wrong number of arguments.
It should be
NS_CLASSINFO_HELPER_BEGIN(_class, 11)
-> seems to be a copy paste bug

I would also appreciate it, if the order of the 10/11 macros is similar to the
other macros:
1. NS_IMPL_CI_INTERFACE_GETTER#
2. NS_IMPL_QUERY_INTERFACE#_CI
3. NS_IMPL_ISUPPORTS#_CI

And what about some NS_IMPL_THREADSAFE_ISUPPORTS#_CI macros?

Reproducible: Always




I consider this critical, because if anyone is using the
NS_IMPL_CI_INTERFACE_GETTER11 macro, he will have corrupt memory.
Correct me if I'm wrong.
The user agent has nothing to do with the error.
I just (5 minutes ago) checked the code in lxr.
Assignee: jag → dougt
Component: XP Apps → XPCOM
Product: Mozilla Application Suite → Core
QA Contact: pawyskoczka
Version: unspecified → Trunk
http://lxr.mozilla.org/seamonkey/source/xpcom/glue/nsISupportsImpl.h#1086
http://lxr.mozilla.org/mozilla1.7/source/xpcom/glue/nsISupportsImpl.h#1086
http://lxr.mozilla.org/aviarybranch/source/xpcom/glue/nsISupportsImpl.h#1086

code is:
1086 #define NS_IMPL_CI_INTERFACE_GETTER11(_class, _i1, _i2, _i3, _i4, _i5, _i6,
_i7, _i8, _i9, _i10, _i11)              \
1088    NS_CLASSINFO_HELPER_BEGIN(_class, 10)                                      

should be:
1088    NS_CLASSINFO_HELPER_BEGIN(_class, 11) 

Macro seems to be used in other unused macros only.

813 #define NS_CLASSINFO_HELPER_BEGIN(_class, _c) 
http://lxr.mozilla.org/seamonkey/source/xpcom/glue/nsISupportsImpl.h#813
Status: UNCONFIRMED → NEW
Ever confirmed: true
asking for a simple fix as the unfixed Macro will crash if it ever would be used.

1088    NS_CLASSINFO_HELPER_BEGIN(_class, 10)                                      
should be:
1088    NS_CLASSINFO_HELPER_BEGIN(_class, 11) 

see LXR links in comment 2
Flags: blocking1.8a6?
Flags: blocking1.7.6?
Dougt, can you look at this? Not going to block 1.8a6 for it, but we'd take a
fix if one becomes available in time.
Flags: blocking1.8a6? → blocking1.8a6-
Fixed on trunk:

Checking in nsISupportsImpl.h;
/cvsroot/mozilla/xpcom/glue/nsISupportsImpl.h,v  <--  nsISupportsImpl.h
new revision: 3.24; previous revision: 3.23
done

I am not sure if this patch needs to land anywhere else.  If it does, please reopen.
Status: NEW → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
trying to close down 1.7.6 to get is shipped soon.  -minus
Flags: blocking1.7.6? → blocking1.7.6-
You need to log in before you can comment on or make changes to this bug.