One of the most common patterns with map and set types is to call find, check the iterator against end(), and dereference the iterator. If you forget to perform this check, libc++'s hardening mode doesn't seem to catch this and just returns garbage values.
(CC @danakj)