代码拉取完成,页面将自动刷新
同步操作将从 src-anolis-os/grub2 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Jonathan Lebon <jlebon@redhat.com>
Date: Mon, 14 Aug 2017 14:37:20 -0400
Subject: [PATCH] editenv: handle relative symlinks
Handle symlinks with targets relative to the containing dir. This
ensures that the rename operation does not depend on the cwd.
Resolves: rhbz#1479960
Signed-off-by: Jonathan Lebon <jlebon@redhat.com>
---
util/editenv.c | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
diff --git a/util/editenv.c b/util/editenv.c
index d8d1dad6a..41bc7cb1c 100644
--- a/util/editenv.c
+++ b/util/editenv.c
@@ -28,6 +28,7 @@
#include <errno.h>
#include <string.h>
+#include <libgen.h>
#define DEFAULT_ENVBLK_SIZE 1024
@@ -87,9 +88,20 @@ grub_util_create_envblk_file (const char *name)
continue;
}
- free (rename_target);
linkbuf[retsize] = '\0';
- rename_target = linkbuf;
+ if (linkbuf[0] == '/')
+ {
+ free (rename_target);
+ rename_target = linkbuf;
+ }
+ else
+ {
+ char *dbuf = xstrdup (rename_target);
+ const char *dir = dirname (dbuf);
+ free (rename_target);
+ rename_target = xasprintf("%s/%s", dir, linkbuf);
+ free (dbuf);
+ }
}
int rc = grub_util_rename (namenew, rename_target);
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。