Opened on 09/15/2016 at 03:55:58 PM
Closed on 09/21/2016 at 07:43:57 PM
Last modified on 09/22/2016 at 01:35:38 PM
#4440 closed defect (fixed)
[HA crash] iOS9 breaking NSHTTPURLResponse Swift nilness contract
Reported by: | pavelz | Assignee: | |
---|---|---|---|
Priority: | P2 | Milestone: | Adblock-Browser-for-iOS-1.5.1 |
Module: | Adblock-Browser-for-iOS | Keywords: | |
Cc: | Blocked By: | ||
Blocking: | Platform: | Adblock Browser for iOS | |
Ready: | yes | Confidential: | no |
Tester: | Unknown | Verified working: | no |
Review URL(s): |
Description
Environment
iOS9
ABB 1.5.0 Appstore release
How to reproduce
Unknown
Observed behaviour
Crash
https://rink.hockeyapp.net/manage/apps/310687/app_versions/26/crash_reasons/136029900
Expected behaviour
No crash
Attachments (0)
Change History (6)
comment:1 Changed on 09/15/2016 at 03:59:37 PM by pavelz
comment:2 Changed on 09/15/2016 at 04:01:48 PM by pavelz
Last edited on 09/15/2016 at 04:06:23 PM
by pavelz
comment:3 Changed on 09/15/2016 at 04:01:55 PM by pavelz
- Ready set
comment:4 Changed on 09/21/2016 at 07:43:57 PM by pavelz
- Resolution set to fixed
- Status changed from new to closed
comment:5 Changed on 09/22/2016 at 01:34:05 PM by mario
- Milestone set to Adblock-Browser-for-iOS-1.5.1
Added to Milestone 1.5.1
comment:6 Changed on 09/22/2016 at 01:35:38 PM by mario
- Priority changed from Unknown to P2
Adjusted priority
Note: See
TracTickets for help on using
tickets.
The stacktrace claims to crash on null pointer here
https://github.com/kitt-browser/kitt-core/blob/master/src/WebRequest/WebRequestEventDispatcher.swift#L59
but because it's being called from here
https://github.com/kitt-browser/kitt-core/blob/master/src/WebRequest/ProtocolHandler.swift#L512
and details is being explicitly unwrapped in condition, it's more likely the next line
https://github.com/kitt-browser/kitt-core/blob/master/src/WebRequest/WebRequestEventDispatcher.swift#L60
where it's very possible that the calling code sends nil for httpResponse.allHeaderFields
which is contracted to be non-optional by NSHTTPURLResponse API