登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
AI 队友
登录
注册
Gitee 年度开源项目评选中~
代码拉取完成,页面将自动刷新
仓库状态说明
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
13
Star
0
Fork
73
src-openEuler
/
coreutils
关闭
代码
Issues
1
Pull Requests
0
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
回合上游社区补丁,补丁数量:8
已完成
#ICTPBM
缺陷
peulerosci
创建于
2025-08-19 17:11
<h3>优先级:</h3><p>次要</p><p></p><h3>原因分析:</h3><p></p><p>【是否新引入rpm包,是否进行了安全编译选项扫描】</p><p></p><p>否</p><p></p><p>【定位分析】</p><p></p><p>有效问题:例行补丁回合。</p><p></p><p></p><p></p><table ><tr><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1">CommitId</td><td colSpan="1" rowSpan="1">描述</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">0d1c25d1cb6d0ce119775368a0fabc7644393f6e</td><td colSpan="1" rowSpan="1">od: fix theoretical size_t malloc overflow<br/><br/>* src/od.c (dump, dump_strings): Use idx_t allocators<br/>rather than size_t allocators, to avoid unchecked integer<br/>overflow on theoretical platforms where SIZE_MAX < IDX_MAX.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">69b07cc58de0a86f7b06d6709049077c6bd486ea</td><td colSpan="1" rowSpan="1">od: fix another off-by-one issue with --strings<br/><br/>* src/od.c (main): Fix off-by-one error in string_min limit.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">35d9bf6915bff5d88dd2246ae5a157db838c64f1</td><td colSpan="1" rowSpan="1">od: prefer idx_t to size_t<br/><br/>This helps find overflow bugs when compiling with -fsanitize=undefined.<br/>* src/od.c (struct tspec, bytes_per_block, PRINT_FIELDS)<br/>(PRINT_TYPE, print_named_ascii, print_ascii, decode_one_format)<br/>(skip, write_block, read_block, dump, main):<br/>Use idx_t, not size_t.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">2b7f3621f8b994db9436318fbe818a34ee87859a</td><td colSpan="1" rowSpan="1">od: output standard diagnostics for invalid -w arguments<br/><br/>* src/od.c (main): Don't pass LONGINT_OK to xstrtol_fatal(),<br/>as otherwise it will abort().<br/>* tests/od/od.pl: Add test cases.<br/>* NEWS: Mention the bug fix.<br/><br/>Addresses https://bugs.gnu.org/78879</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">44809c3379d64b9e580042124ccea6665d746d9a</td><td colSpan="1" rowSpan="1">od: fix various off-by-one issues with --strings with -N<br/><br/>* src/od.c (dump_strings): There are three related issues here<br/>due to not accounting for the terminating NUL char appropriately.<br/><br/>1. Ensure BUF always has enough space for the terminating NUL.<br/>This avoids CWE-122: Heap-based Buffer Overflow,<br/>where we wrote a single NUL byte directly after the allocated buffer.<br/>I.e., there should be no buffer overflow with:<br/>printf '%100s' | od -N100 -S1<br/><br/>2. Ensure we support -S == -N (END_OFFSET - STRING_MIN == ADDRESS):<br/>I.e., there should be output with:<br/>printf '%100s' | od -N10 -S10<br/><br/>3. Ensure we always output a valid address by ensuring<br/>the ADDRESS and I variables are kept in sync.<br/>I.e., this should output address 0000000 not 1777777777777777777777:<br/>printf '%100s' | od -N10 -S1<br/><br/>As well as fixing these we simplify by using a single loop<br/>to read the data, rather than two.<br/><br/>* doc/coreutils.texi (od invocation): Clarify that -N<br/>implicitly NUL terminates strings.<br/>* tests/od/od-N.sh: Add test cases.<br/>* NEWS: Mention the bug fixes.<br/><br/>Fixes https://bugs.gnu.org/78880</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">88f30ee0a5c355701914d4446dc7ec729a344fa2</td><td colSpan="1" rowSpan="1">od: fix some unlikely integer overflows<br/><br/>* src/od.c (print_n_spaces, pad_at, pad_at_overflow):<br/>New static functions.<br/>(struct tspec, PRINT_FIELDS, print_named_ascii, print_ascii)<br/>(decode_one_format, write_block, main):<br/>Use idx_t, not int, for counts that depend on the number<br/>of bytes in an object.<br/>(decode_one_format): Use print_n_spaces to output spaces.<br/>(PRINT_FIELDS, print_named_ascii, print_ascii):<br/>Use pad_at to avoid integer overflow.<br/>(write_block): Do not use %*s to pad, as the total pad might<br/>exceed INT_MAX. Instead, pad by hand with putchar (' ').<br/>(main): Use pad_at_overflow to report integer overflow due to<br/>oversize -w. Use better way to tell whether -w is used,<br/>without needing IF_LINT.<br/>* tests/od/big-w.sh: New test.<br/>* tests/local.mk (all_tests): Add it.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">66464e61f549e9f2fd35f82567345721798288f9</td><td colSpan="1" rowSpan="1">od: fix '+N.' bug<br/><br/>* src/od.c (parse_old_offset): First arg is now char *,<br/>not char const *. If a decimal number, temporarily<br/>modify the string so that xstrtoumax does not complain<br/>about the '.'.<br/>* tests/od/od.pl: Test for the bug.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">d5ea5e8aed304337489a4dbbaf0f00d40bd92fc6</td><td colSpan="1" rowSpan="1">od: fix integer overflow with large pseudos<br/><br/>* src/od.c (format_address_label): Diagnose overflow.</td></tr></table><p></p><p></p> **二、缺陷分析结构反馈** 影响性分析说明: 缺陷严重等级:(Critical/High/Moderate/Low) 缺陷根因说明: 受影响版本排查(受影响/不受影响): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 openEuler-24.03-LTS-SP2 修复是否涉及abi变化(是/否): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 openEuler-24.03-LTS-SP2
<h3>优先级:</h3><p>次要</p><p></p><h3>原因分析:</h3><p></p><p>【是否新引入rpm包,是否进行了安全编译选项扫描】</p><p></p><p>否</p><p></p><p>【定位分析】</p><p></p><p>有效问题:例行补丁回合。</p><p></p><p></p><p></p><table ><tr><td colSpan="1" rowSpan="1"></td><td colSpan="1" rowSpan="1">CommitId</td><td colSpan="1" rowSpan="1">描述</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">0d1c25d1cb6d0ce119775368a0fabc7644393f6e</td><td colSpan="1" rowSpan="1">od: fix theoretical size_t malloc overflow<br/><br/>* src/od.c (dump, dump_strings): Use idx_t allocators<br/>rather than size_t allocators, to avoid unchecked integer<br/>overflow on theoretical platforms where SIZE_MAX < IDX_MAX.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">69b07cc58de0a86f7b06d6709049077c6bd486ea</td><td colSpan="1" rowSpan="1">od: fix another off-by-one issue with --strings<br/><br/>* src/od.c (main): Fix off-by-one error in string_min limit.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">35d9bf6915bff5d88dd2246ae5a157db838c64f1</td><td colSpan="1" rowSpan="1">od: prefer idx_t to size_t<br/><br/>This helps find overflow bugs when compiling with -fsanitize=undefined.<br/>* src/od.c (struct tspec, bytes_per_block, PRINT_FIELDS)<br/>(PRINT_TYPE, print_named_ascii, print_ascii, decode_one_format)<br/>(skip, write_block, read_block, dump, main):<br/>Use idx_t, not size_t.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">2b7f3621f8b994db9436318fbe818a34ee87859a</td><td colSpan="1" rowSpan="1">od: output standard diagnostics for invalid -w arguments<br/><br/>* src/od.c (main): Don't pass LONGINT_OK to xstrtol_fatal(),<br/>as otherwise it will abort().<br/>* tests/od/od.pl: Add test cases.<br/>* NEWS: Mention the bug fix.<br/><br/>Addresses https://bugs.gnu.org/78879</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">44809c3379d64b9e580042124ccea6665d746d9a</td><td colSpan="1" rowSpan="1">od: fix various off-by-one issues with --strings with -N<br/><br/>* src/od.c (dump_strings): There are three related issues here<br/>due to not accounting for the terminating NUL char appropriately.<br/><br/>1. Ensure BUF always has enough space for the terminating NUL.<br/>This avoids CWE-122: Heap-based Buffer Overflow,<br/>where we wrote a single NUL byte directly after the allocated buffer.<br/>I.e., there should be no buffer overflow with:<br/>printf '%100s' | od -N100 -S1<br/><br/>2. Ensure we support -S == -N (END_OFFSET - STRING_MIN == ADDRESS):<br/>I.e., there should be output with:<br/>printf '%100s' | od -N10 -S10<br/><br/>3. Ensure we always output a valid address by ensuring<br/>the ADDRESS and I variables are kept in sync.<br/>I.e., this should output address 0000000 not 1777777777777777777777:<br/>printf '%100s' | od -N10 -S1<br/><br/>As well as fixing these we simplify by using a single loop<br/>to read the data, rather than two.<br/><br/>* doc/coreutils.texi (od invocation): Clarify that -N<br/>implicitly NUL terminates strings.<br/>* tests/od/od-N.sh: Add test cases.<br/>* NEWS: Mention the bug fixes.<br/><br/>Fixes https://bugs.gnu.org/78880</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">88f30ee0a5c355701914d4446dc7ec729a344fa2</td><td colSpan="1" rowSpan="1">od: fix some unlikely integer overflows<br/><br/>* src/od.c (print_n_spaces, pad_at, pad_at_overflow):<br/>New static functions.<br/>(struct tspec, PRINT_FIELDS, print_named_ascii, print_ascii)<br/>(decode_one_format, write_block, main):<br/>Use idx_t, not int, for counts that depend on the number<br/>of bytes in an object.<br/>(decode_one_format): Use print_n_spaces to output spaces.<br/>(PRINT_FIELDS, print_named_ascii, print_ascii):<br/>Use pad_at to avoid integer overflow.<br/>(write_block): Do not use %*s to pad, as the total pad might<br/>exceed INT_MAX. Instead, pad by hand with putchar (' ').<br/>(main): Use pad_at_overflow to report integer overflow due to<br/>oversize -w. Use better way to tell whether -w is used,<br/>without needing IF_LINT.<br/>* tests/od/big-w.sh: New test.<br/>* tests/local.mk (all_tests): Add it.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">66464e61f549e9f2fd35f82567345721798288f9</td><td colSpan="1" rowSpan="1">od: fix '+N.' bug<br/><br/>* src/od.c (parse_old_offset): First arg is now char *,<br/>not char const *. If a decimal number, temporarily<br/>modify the string so that xstrtoumax does not complain<br/>about the '.'.<br/>* tests/od/od.pl: Test for the bug.</td></tr><tr><td colSpan="1" rowSpan="1">openEuler:coreutils</td><td colSpan="1" rowSpan="1">d5ea5e8aed304337489a4dbbaf0f00d40bd92fc6</td><td colSpan="1" rowSpan="1">od: fix integer overflow with large pseudos<br/><br/>* src/od.c (format_address_label): Diagnose overflow.</td></tr></table><p></p><p></p> **二、缺陷分析结构反馈** 影响性分析说明: 缺陷严重等级:(Critical/High/Moderate/Low) 缺陷根因说明: 受影响版本排查(受影响/不受影响): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 openEuler-24.03-LTS-SP2 修复是否涉及abi变化(是/否): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 openEuler-24.03-LTS-SP2
评论 (
3
)
登录
后才可以发表评论
状态
已完成
待办的
已挂起
修复中
已确认
已完成
已验收
已取消
负责人
未设置
chenjiayi
jiayi0118
负责人
协作者
+负责人
+协作者
标签
sig/Base-service
未设置
项目
未立项任务
未立项任务
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (60)
标签 (30)
master
openEuler-24.03-LTS-SP3
openEuler-24.03-LTS-SP2
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS
openEuler-24.03-LTS-Next
openEuler-25.09
openEuler-22.03-LTS-SP4
openEuler-22.03-LTS-SP3
openEuler-20.03-LTS-SP4
openEuler-25.03
openEuler-22.03-LTS-SP1
openEuler-24.09
openEuler-20.03-LTS-SP1
openEuler-20.03-LTS-SP3
openEuler-22.03-LTS-SP2
openEuler-22.03-LTS-Next
openEuler-22.03-LTS
openEuler-23.09
openEuler-23.03
openEuler-22.09
openEuler-20.03-LTS-SP2
openEuler-20.03-LTS
openEuler-21.09
openEuler-21.03
openEuler-20.03-LTS-Next
openEuler-20.09
patch-tracking/20210103225849748336
patch-tracking/20210102205849748304
patch-tracking/20210102015849749612
patch-tracking/20201229005849748743
patch-tracking/20201225145849748845
patch-tracking/20201218235849749781
patch-tracking/20201216045849751437
patch-tracking/20201215225849748592
patch-tracking/20201212115849747583
patch-tracking/20201209045849748654
patch-tracking/20201201225849750631
patch-tracking/20201128045849750004
patch-tracking/20201127043007634347
patch-tracking/20201126233007632855
patch-tracking/20201126223007636120
patch-tracking/20201123233007632138
patch-tracking/20201123183007631987
patch-tracking/20201123173007634294
patch-tracking/20201122233007634250
patch-tracking/20201122113007632935
patch-tracking/20201119083007632854
patch-tracking/20201117003007632079
patch-tracking/20201113043007635446
patch-tracking/20201112043007632460
patch-tracking/20201109063007633193
patch-tracking/20201028233007631828
patch-tracking/20201026233007633134
patch-tracking/20201026223007632810
patch-tracking/20201025223007649638
patch-tracking/20201020033007632984
patch-tracking/20201018003007632080
openEuler1.0
openEuler1.0-base
openEuler-25.09-release
openEuler-20.03-LTS-SP4-update-20250627
openEuler-24.03-LTS-SP2-release
openEuler-20.03-LTS-SP4-update-20250613
openEuler-22.03-LTS-SP3-update-20250613
openEuler-22.03-LTS-SP4-update-20250613
openEuler-24.03-LTS-update-20250613
openEuler-24.03-LTS-SP1-update-20250613
openEuler-25.03-release
openEuler-24.03-LTS-SP1-release
openEuler-22.03-LTS-SP4-release
openEuler-24.09-release
openEuler-24.03-LTS-release
openEuler-22.03-LTS-SP3-release
openEuler-23.09-rc5
openEuler-22.03-LTS-SP1-release
openEuler-22.09-release
openEuler-22.09-rc5
openEuler-22.09-20220829
openEuler-22.03-LTS-20220331
openEuler-22.03-LTS-round5
openEuler-22.03-LTS-round3
openEuler-22.03-LTS-round2
openEuler-22.03-LTS-round1
openEuler-20.03-LTS-SP3-release
openEuler-20.03-LTS-SP2-20210624
openEuler-21.03-20210330
openEuler-20.09-20200928
openEuler-20.03-LTS-20200606
openEuler-20.03-LTS-tag
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
1
https://gitee.com/src-openeuler/coreutils.git
git@gitee.com:src-openeuler/coreutils.git
src-openeuler
coreutils
coreutils
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
评论
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册