Description
Previous ID | SR-11887 |
Radar | rdar://FB7476355 |
Original Reporter | mildm8nnered (JIRA User) |
Type | Bug |
Attachment: Download
Environment
MacOS 10.14.6 (18G2016)
Xcode Version 11.0 (11A420a), Version 11.3 beta (11C24b)
Additional Detail from JIRA
Votes | 0 |
Component/s | Foundation |
Labels | Bug |
Assignee | None |
Priority | Medium |
md5: 5b64ceb18ce7fdc5e87597c679dec9fd
Issue Description:
In the attached project, AsanCrasherTests.testAddLabel will trigger the problem.
In a Swift class with an NSMutableDictionary ivar, adding entries where the key contains a multi-byte character will trigger an Address Sanitizer heap-buffer-overflow warning
It’s quite data-sensitive, but absolutely deterministic - the ASAN is always triggered for the right combination of data, and never triggered otherwise.
The keys for the dictionary entries contain the multi-byte character "▸". If this is changed for, for example, "+", the problem disappears
The equivalent Objective-C code (in AsanCrasherTestsObjC.m in the attached project) does not trigger the problem.
Replacing the NSMutableDictionary with a Swift dictionary also makes the problem go away.