cJSON_AddNumberToObject always zero.
维护者通常 12 天内回复
还没有人认领这个 Issue。
评估
调研方向
首先复现围绕 cJSON_AddNumberToObject 和 cJSON_Print 报告的行为,将每个返回的项与序列化输出进行核对。确认所提供的整数值是被库丢失了,还是示例读取了另一个返回的项;完成的标准是证明原因,并在需要时通过一个针对性的回归测试覆盖该问题。
由索引模型根据 Issue 内容生成。
描述
const int main_acct_id = 1;
const int hostid = 2;
const int sub_acct_id = 3;
const int device_port = 4;
cJSON_AddNumberToObject(root, "MAIN_ACCOUNT_ID", main_acct_id);
cJSON_AddNumberToObject(root, "OBJECT_ID", hostid);
cJSON_AddNumberToObject(root, "SUB_ACCOUNT_ID", sub_acct_id);
cJSON_AddNumberToObject(root, "OBJECT_DEVICE_PORT", device_port);
printf("main_acct_id: %d\n", main_acct_id);
printf("hostid: %d\n", hostid);
printf("sub_acct_id: %d\n", sub_acct_id);
printf("device_port: %d\n", device_port);
char *json_str = cJSON_Print(root);
if (!json_str)
{
cJSON_Delete(root);
return;
}
printf("%s\n", json_str);
tmp1 = cJSON_AddNumberToObject(root, "MAIN_ACCOUNT_ID", main_acct_id);
if (!tmp1)
{
printf("MAIN_ACCOUNT_ID is NULL\n");
}
printf("MAIN_ACCOUNT_ID: %d\n", tmp1->valueint);
cJSON_AddNumberToObject(root, "OBJECT_ID", hostid);
if (!tmp1)
{
printf("OBJECT_ID is NULL\n");
}
printf("OBJECT_ID: %d\n", tmp1->valueint);
cJSON_AddNumberToObject(root, "SUB_ACCOUNT_ID", sub_acct_id);
if (!tmp1)
{
printf("SUB_ACCOUNT_ID is NULL\n");
}
printf("SUB_ACCOUNT_ID: %d\n", tmp1->valueint);
cJSON_AddNumberToObject(root, "OBJECT_DEVICE_PORT", device_port);
if (!tmp1)
{
printf("OBJECT_DEVICE_PORT is NULL\n");
}
printf("OBJECT_DEVICE_PORT: %d\n", tmp1->valueint);
- 主要语言
- C
- 星标
- 13k
- 派生
- 3.5k
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DaveGamble/cJSON 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 68/100
DaveGamble/cJSON#1106 ·
维护者通常 12 天内回复
-
Undefined-Behavior in function cJSON_SetNumberHelper可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
DaveGamble/cJSON#1100 · 1 个 reaction ·
维护者通常 12 天内回复
-
难度 2/5 1-3 小时 新手友好度 86/100
DaveGamble/cJSON#1094 · 9 条评论 · 1 个 reaction ·
维护者通常 12 天内回复
-
难度 2/5 1-3 小时 新手友好度 68/100
DaveGamble/cJSON#1093 ·
维护者通常 12 天内回复
-
Use-after-free in cJSONUtils_ApplyPatches when a patch removes the patch array可能已有人在做 @iliasabk 于 30 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
DaveGamble/cJSON#1082 ·
维护者通常 12 天内回复
相似的 Issue
-
难度 2/5 1-3 小时 新手友好度 82/100
FujiNetWIFI/fujinet-lib#204 ·
维护者通常 1 天内回复
-
os:linux
难度 2/5 1-3 小时 新手友好度 66/100
mpv-player/mpv#18649 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 85/100
facebookincubator/muse-gadget-sdk#249 ·
维护者通常 1 天内回复
-
docs: nng_dial / nng_dialer_start can return NNG_ECONNSHUT and NNG_ECRYPTO, which are not documented未关闭
难度 1/5 1-3 小时 新手友好度 89/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
micropython/micropython#19786 ·
维护者通常 1 天内回复