加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
0013-thin_metadata_size-Fix-potential-string-overflow.patch 1.06 KB
一键复制 编辑 原始数据 按行查看 历史
wangzhiqiang 提交于 2024-07-31 10:43 . backport bugfix patch from community
From 3145a1f4ded700cfda3f2dffc203cc5c3cfb1d13 Mon Sep 17 00:00:00 2001
From: Ming-Hung Tsai <mtsai@redhat.com>
Date: Wed, 2 Jun 2021 11:39:01 +0800
Subject: [PATCH] [thin_metadata_size] Fix potential string overflow
---
thin-provisioning/thin_metadata_size.cc | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/thin-provisioning/thin_metadata_size.cc b/thin-provisioning/thin_metadata_size.cc
index b6a5718e..f14696c3 100644
--- a/thin-provisioning/thin_metadata_size.cc
+++ b/thin-provisioning/thin_metadata_size.cc
@@ -192,9 +192,13 @@ static void printf_aligned(struct global *g, char const *a, char const *b, char
{
char buf[80];
- strcpy(buf, b);
- if (units)
- strcat(buf, mandatory ? "{" :"["), strcat(buf, g->unit.chars), strcat(buf, mandatory ? "}" : "]");
+ if (units) {
+ char left_bracket = mandatory ? '{' : '[';
+ char right_bracket = mandatory ? '}' : ']';
+ snprintf(buf, 80, "%s%c%s%c", b, left_bracket, g->unit.chars, right_bracket);
+ } else {
+ snprintf(buf, 80, "%s", b);
+ }
printf("\t%-4s%-44s%s\n", a, buf, c);
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化