Problem with Generic Security Services ABI

Originator:matt
Number:rdar://13218454 Date Originated:14-Feb-2013
Status:Closed Resolved:Behaves Correctly
Product:OS X Product Version:10.8.2
Classification:Crash/Hang/Data Loss Reproducible:always
 
14-Feb-2013 02:51 PM Matthew Morris:
Summary: I believe that OS X (64-bit) is using an ABI for GSS-API that uses an incorrect structure alignment.

Steps to Reproduce:
- In a 64-bit Mac application, call OM_uint32 gss_indicate_mechs(OM_uint32* minor_status,  gss_OID_set* mech_set);
- Observe that no error is returned.
- Attempt to access the |elements| member of the gss_OID_set structure.
- Crash.

Expected Results: No crash.

Actual Results: Crash.

Regression: Unknown.

Notes:
I have worked around this issue by doing the following in the header where I declare the GSS types.

#if defined(__APPLE__) && defined(__x86_64__)
#    pragma pack(push, 2)
#endif

// GSS typedefs and structs here

#if defined(__APPLE__) && defined(__x86_64__)
#    pragma pack(pop)
#endif

// end header file

14-Feb-2013 02:51 PM Matthew Morris:
'MacBook Pro.spx' was successfully uploaded


=========================================
21-Feb-2013 09:51 AM Apple Developer Bug Reporting Team :
Engineering has determined that this issue behaves as intended based on the following information:

That is how the ABI is defined, we forgot to fix this issue when we went to 64 bit platform.. You need to use our header.

BTW, the correct ABI is.

/* Compatiblity with MIT Kerberos on the Mac */
#if defined(__APPLE__) && (defined(__ppc__) || defined(__ppc64__) || defined(__i386__) || defined(__x86_64__))
#pragma pack(push,2)
#endif

If this is still an issue, or you have questions regarding the resolution of this issue, please update your bug report with that information.

We are now closing this bug report.

Please be sure to regularly check new Apple releases for any updates that might affect this issue.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!