1 Star 0 Fork 14

疯言疯语/unzip

forked from src-anolis-os/unzip 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
unzip-6.0-COVSCAN-strcpy-with-overlapping-strings.patch 1.08 KB
一键复制 编辑 原始数据 按行查看 历史
张彬琛 提交于 2021-01-20 14:00 . import unzip-6.0-43.el8.src.rpm
From 8f6be666289211661906922cdfe6ea5a08c5b458 Mon Sep 17 00:00:00 2001
From: Jakub Martisko <jamartis@redhat.com>
Date: Tue, 13 Nov 2018 09:57:43 +0100
Subject: [PATCH] envargs.c: strcpy with overlapping strings
---
envargs.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/envargs.c b/envargs.c
index f0a230d..daa3e47 100644
--- a/envargs.c
+++ b/envargs.c
@@ -31,6 +31,7 @@
#define __ENVARGS_C /* identifies this source module */
#define UNZIP_INTERNAL
#include "unzip.h"
+#include <string.h>
#ifdef __EMX__ /* emx isspace() returns TRUE on extended ASCII !! */
# define ISspace(c) ((c) & 0x80 ? 0 : isspace((unsigned)c))
@@ -118,7 +119,8 @@ int envargs(Pargc, Pargv, envstr, envstr2)
/* remove escape characters */
while ((argstart = MBSCHR(argstart, '\\')) != (char *)NULL) {
- strcpy(argstart, argstart + 1);
+ //strcpy(argstart, argstart + 1);
+ memmove(argstart, argstart + 1,strlen(argstart + 1) + 1);
if (*argstart)
++argstart;
}
--
2.14.5
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/devttl/unzip.git
git@gitee.com:devttl/unzip.git
devttl
unzip
unzip
a8

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385