pointer comparsion undefined behavior in cJSON_SetValuestring
维护者通常 12 天内回复
还没有人认领这个 Issue。
评估
调研方向
从 cJSON.c 中的 cJSON_SetValuestring 开始,检查 issue 中展示的指针范围比较。查看项目中针对该函数的测试,并添加对位于不同地址的 valuestring 指针的覆盖;issue 没有提供测试文件名。修正未定义的指针比较并且相关测试通过后,即视为完成。
由索引模型根据 Issue 内容生成。
描述
A pointer comparsion undefined behavior was identified in cJSON.c , function cJSON_SetValuestring(cJSON *object, const char *valuestring)
UB Analysis:
v1_len = strlen(valuestring);
v2_len = strlen(object->valuestring);
if (v1_len <= v2_len)
{
if (!( valuestring + v1_len < object->valuestring || object->valuestring + v2_len < valuestring )) // here
{
return NULL;
}
strcpy(object->valuestring, valuestring);
return object->valuestring;
}
...
when object->valuestring and valuestring pointer to different address , this two pointer comparsion is undefined behavior
- 主要语言
- C
- 星标
- 13.1k
- 派生
- 3.6k
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
DaveGamble/cJSON 的其他 Issue
-
难度 2/5 1-3 小时 新手友好度 70/100
DaveGamble/cJSON#1122 ·
维护者通常 12 天内回复
-
Undefined-Behavior in function cJSON_SetNumberHelper可能已有人在做 @akashdeshmukh-git 于 2 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
DaveGamble/cJSON#1100 · 1 个 reaction ·
维护者通常 12 天内回复
-
CMake config files contain absolute install paths可能已有人在做 @akashdeshmukh-git 于 13 天前认领。 未关闭
难度 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 于 47 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 82/100
DaveGamble/cJSON#1082 ·
维护者通常 12 天内回复
相似的 Issue
-
XPM values line with more than one space between numbers raises ValueError可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 2/5 1-3 小时 新手友好度 86/100
python-pillow/Pillow#10429 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 83/100
维护者通常 1 天内回复
-
难度 1/5 1 小时以内 新手友好度 85/100
维护者通常 9 天内回复
-
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
containers/bubblewrap#826 ·
维护者通常 1 天内回复