alibaba / HandyJSON

A handy swift json-object serialization/deserialization library
Other
4.23k stars 627 forks source link

have a crash for parse data #256

Open 757388559 opened 6 years ago

757388559 commented 6 years ago

Xcode Version 9.3 beta 4 (9Q127n)

follow is the data:

{ "code": 200, "msg": "OK", "data": { "alternative": [], "favourite": [{ "id": "5adf4fe28bb78e4d9bc17379", "name": "自选", "isFavourite": true, "isRecommend": true, "logo": "", "url": "option" }, { "id": "5adf4fe28bb78e4d9bc1737a", "name": "全网", "isFavourite": true, "isRecommend": true, "logo": "", "url": "all" }, { "id": "5adf4fe48bb78e4d9bc1737b", "name": "BitMEX", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.bitmex.com/" }, { "id": "5adf4fe68bb78e4d9bc1737c", "name": "币安网", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.binance.com/" }, { "id": "5adf4fe98bb78e4d9bc1737d", "name": "OKEX", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.okex.com" }, { "id": "5adf4fec8bb78e4d9bc1737f", "name": "火币Pro", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.huobipro.com" }, { "id": "5adf4fec8bb78e4d9bc17380", "name": "Bitfinex", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.bitfinex.com" }, { "id": "5adf4fed8bb78e4d9bc17381", "name": "Bithumb", "isFavourite": true, "isRecommend": true, "logo": "", "url": "https://www.bithumb.com/" }] } }

have a crash when parse the data :

guard nominalTypeDescriptor.numberOfFields != 0 else { return [] }

XDYB commented 6 years ago

在NominalType.swift 文件中 第34行代码 : return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee)) 替换成 : return NominalTypeDescriptor(pointer: relativePointer(base: base, offset: base.pointee - base.hashValue))