●问题描述:
目前客户端、服务端内的reason与status常量类型均为uint32,支持的数值上限为0xFFFFFFFF
而当前REASON_ACTION和STATUS_FLIP_SUMMON_DISABLED常量对应的数字均已达0x80000000,即将超出uint32数据类型的极限
故请求将reason与status的数据类型升级为uint64,并将客户端内query_card等相关函数的可接受参数类型一并调整,以便适配更多更大的reason与status常量
●复现步骤:
①在内核中将reason与status相关数据类型改为uint64,将card.cpp的382行中if(query_flag & QUERY_STATUS){}代码块中tdata的数据类型改为uint64,并使用buffer_write函数传入uint64数据;
②编译内核;
③启动服务端与客户端;
④召唤任意一只Link怪兽;
⑤观察该Link怪兽的Link值。
●预期结果:
该怪兽的Link值等应由客户端处理并显示的数据,显示为其对应的正确数字。
●实际结果:
该怪兽的Link值显示为0,query_cache数据接收异常。
●复现率:
100%
●影响范围:
所有实际数值大小超过uint32极限的reason与status常量。
●问题描述:
目前客户端、服务端内的reason与status常量类型均为uint32,支持的数值上限为0xFFFFFFFF
而当前REASON_ACTION和STATUS_FLIP_SUMMON_DISABLED常量对应的数字均已达0x80000000,即将超出uint32数据类型的极限
故请求将reason与status的数据类型升级为uint64,并将客户端内query_card等相关函数的可接受参数类型一并调整,以便适配更多更大的reason与status常量
●复现步骤:
①在内核中将reason与status相关数据类型改为uint64,将card.cpp的382行中if(query_flag & QUERY_STATUS){}代码块中tdata的数据类型改为uint64,并使用buffer_write函数传入uint64数据;
②编译内核;
③启动服务端与客户端;
④召唤任意一只Link怪兽;
⑤观察该Link怪兽的Link值。
●预期结果:
该怪兽的Link值等应由客户端处理并显示的数据,显示为其对应的正确数字。
●实际结果:
该怪兽的Link值显示为0,query_cache数据接收异常。
●复现率:
100%
●影响范围:
所有实际数值大小超过uint32极限的reason与status常量。