because new CVE patch will fix the problem of old CVE patch, so we don't need to revert old CVE patch. (cherry picked from commit bdaa060cf319507a37e75c5b96c647d2fd2bc9bd)
36 lines
1.0 KiB
Diff
36 lines
1.0 KiB
Diff
From 06789cf2a6a0121f75fada35926f09ec851a609f Mon Sep 17 00:00:00 2001
|
|
From: Sergey Poznyakoff <gray@gnu.org>
|
|
Date: Thu, 18 May 2023 09:00:12 +0300
|
|
Subject: [PATCH] Fix operation of --no-absolute-filenames --make-directories
|
|
|
|
* src/copyin.c (symlink_placeholder): Try to create leading
|
|
directories if unable to create placeholder.
|
|
|
|
Reference:http://git.savannah.gnu.org/cgit/cpio.git/commit/?id=e3cc782c610729de7622a274e532817c18262a9d
|
|
Conflict:NA
|
|
---
|
|
src/copyin.c | 6 ++++++
|
|
2 files changed, 20 insertions(+)
|
|
create mode 100644 src/copyin.c.rej
|
|
|
|
diff --git a/src/copyin.c b/src/copyin.c
|
|
index 69d4ca4..53a84e5 100644
|
|
--- a/src/copyin.c
|
|
+++ b/src/copyin.c
|
|
@@ -668,6 +668,12 @@ symlink_placeholder (char *oldpath, char *newpath, struct cpio_file_stat *file_s
|
|
struct delayed_link *p;
|
|
size_t newlen = strlen (newpath);
|
|
|
|
+ if (fd < 0 && create_dir_flag)
|
|
+ {
|
|
+ create_all_directories (newpath);
|
|
+ fd = open (newpath, O_WRONLY | O_CREAT | O_EXCL, 0);
|
|
+ }
|
|
+
|
|
if (fd < 0)
|
|
{
|
|
open_error (newpath);
|
|
--
|
|
2.27.0
|
|
|