hikptool/0073-hikptool-nic-return-real-errno-if-realpath-failed-in.patch
zhangyuyang 9266dc4f4d hikptool: Modify the review comments to increase the reliability of the code
Synchronize code, Modify the review comments to increase the reliability of the code

Signed-off-by: veega2022 <zhuweijia@huawei.com>
(cherry picked from commit d2a23f9ffed0201385c7864b9cd58312fb395cb6)
2024-11-26 16:32:40 +08:00

44 lines
1.2 KiB
Diff

From 0a53156f7281337ac037ea334f7011b54a6f5655 Mon Sep 17 00:00:00 2001
From: Peiyang Wang <wangpeiyang1@huawei.com>
Date: Tue, 20 Aug 2024 16:33:35 +0800
Subject: [PATCH 11/27] hikptool: nic: return real errno if realpath failed in
NIC module
Return real errno if realpath failed.
Signed-off-by: Peiyang Wang <wangpeiyang1@huawei.com>
---
net/hikp_net_lib.c | 7 +++++--
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/net/hikp_net_lib.c b/net/hikp_net_lib.c
index 8db4ad5..32b278b 100644
--- a/net/hikp_net_lib.c
+++ b/net/hikp_net_lib.c
@@ -25,7 +25,7 @@
static int hikp_read_net_pci_info(const char *file_path, char *content, size_t len)
{
- char path[PATH_MAX + 1] = { 0 };
+ char path[PATH_MAX] = { 0 }; /* PATH_MAX includes the \0 so +1 is not required */
int ret;
int fd;
@@ -35,9 +35,12 @@ static int hikp_read_net_pci_info(const char *file_path, char *content, size_t l
if (len > MAX_PCI_ID_LEN + 1 || len < 1)
return -EINVAL;
- if (strlen(file_path) > PATH_MAX || realpath(file_path, path) == NULL)
+ if (strlen(file_path) > PATH_MAX)
return -ENOENT;
+ if (!realpath(file_path, path))
+ return -errno;
+
fd = open(path, O_RDONLY);
if (fd < 0)
return -EPERM;
--
2.45.0.windows.1