Azure99 / GenshinPlayerQuery

根据原神uid查询玩家信息(基础数据、角色&装备、深境螺旋战绩等)
Apache License 2.0
371 stars 41 forks source link

Properly initialize StringBuilder with the right buffer size #3

Closed MakiseKurisu closed 3 years ago

MakiseKurisu commented 3 years ago

现象:当本地储存的cookie无效时,程序会在登录后崩溃。 原因:在MessageBus.GetBrowserLoginTicket中调用InternetGetCookieEx时,传入的缓冲区大小为256(包含结尾NULL),而默认StringBuilder分配的缓冲区大小为17(包含结尾NULL),造成缓冲区溢出。 解决方案:依照微软文档来分配正确大小的缓冲区。

Azure99 commented 3 years ago

LGTM