1 Star 0 Fork 15

syyhao/tar

forked from src-openEuler/tar 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
Fix-error-handling-when-reading-incremental-snapshot.patch 2.92 KB
一键复制 编辑 原始数据 按行查看 历史
hexiaowen 提交于 2019-09-30 11:18 . Package init
From 916fe62ae9b91a5d71cfa752f7cad89a558d7672 Mon Sep 17 00:00:00 2001
From: Sergey Poznyakoff <gray@gnu.org>
Date: Fri, 21 Dec 2018 07:59:02 +0200
Subject: [PATCH 35/58] Fix error handling when reading incremental snapshots
Bug reported in
http://lists.gnu.org/archive/html/bug-tar/2018-12/msg00008.html
* incremen.c (read_incr_db_01): Don't try to continue after errors.
---
src/incremen.c | 30 +++++++++++++++---------------
1 file changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/incremen.c b/src/incremen.c
index 7c26eb8..8335a0c 100644
--- a/src/incremen.c
+++ b/src/incremen.c
@@ -998,10 +998,10 @@ read_incr_db_01 (int version, const char *initbuf)
newer_mtime_option = decode_timespec (buf, &ebuf, false);
if (! valid_timespec (newer_mtime_option))
- ERROR ((0, errno, "%s:%ld: %s",
- quotearg_colon (listed_incremental_option),
- lineno,
- _("Invalid time stamp")));
+ FATAL_ERROR ((0, errno, "%s:%ld: %s",
+ quotearg_colon (listed_incremental_option),
+ lineno,
+ _("Invalid time stamp")));
else
{
if (version == 1 && *ebuf)
@@ -1043,9 +1043,9 @@ read_incr_db_01 (int version, const char *initbuf)
mtime = decode_timespec (strp, &ebuf, false);
strp = ebuf;
if (!valid_timespec (mtime) || *strp != ' ')
- ERROR ((0, errno, "%s:%ld: %s",
- quotearg_colon (listed_incremental_option), lineno,
- _("Invalid modification time")));
+ FATAL_ERROR ((0, errno, "%s:%ld: %s",
+ quotearg_colon (listed_incremental_option), lineno,
+ _("Invalid modification time")));
errno = 0;
u = strtoumax (strp, &ebuf, 10);
@@ -1053,9 +1053,9 @@ read_incr_db_01 (int version, const char *initbuf)
errno = ERANGE;
if (errno || strp == ebuf || *ebuf != ' ')
{
- ERROR ((0, errno, "%s:%ld: %s",
- quotearg_colon (listed_incremental_option), lineno,
- _("Invalid modification time (nanoseconds)")));
+ FATAL_ERROR ((0, errno, "%s:%ld: %s",
+ quotearg_colon (listed_incremental_option), lineno,
+ _("Invalid modification time (nanoseconds)")));
mtime.tv_nsec = -1;
}
else
@@ -1069,17 +1069,17 @@ read_incr_db_01 (int version, const char *initbuf)
TYPE_MINIMUM (dev_t), TYPE_MAXIMUM (dev_t));
strp = ebuf;
if (errno || *strp != ' ')
- ERROR ((0, errno, "%s:%ld: %s",
+ FATAL_ERROR ((0, errno, "%s:%ld: %s",
quotearg_colon (listed_incremental_option), lineno,
- _("Invalid device number")));
+ _("Invalid device number")));
ino = strtosysint (strp, &ebuf,
TYPE_MINIMUM (ino_t), TYPE_MAXIMUM (ino_t));
strp = ebuf;
if (errno || *strp != ' ')
- ERROR ((0, errno, "%s:%ld: %s",
- quotearg_colon (listed_incremental_option), lineno,
- _("Invalid inode number")));
+ FATAL_ERROR ((0, errno, "%s:%ld: %s",
+ quotearg_colon (listed_incremental_option), lineno,
+ _("Invalid inode number")));
strp++;
unquote_string (strp);
--
2.19.1
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/shenyangyang01/tar.git
git@gitee.com:shenyangyang01/tar.git
shenyangyang01
tar
tar
master

搜索帮助