|
|
| 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.