summaryrefslogtreecommitdiff
path: root/0111-bugfix-for-file-param-verify.patch
diff options
context:
space:
mode:
Diffstat (limited to '0111-bugfix-for-file-param-verify.patch')
-rw-r--r--0111-bugfix-for-file-param-verify.patch75
1 files changed, 75 insertions, 0 deletions
diff --git a/0111-bugfix-for-file-param-verify.patch b/0111-bugfix-for-file-param-verify.patch
new file mode 100644
index 0000000..2903c4b
--- /dev/null
+++ b/0111-bugfix-for-file-param-verify.patch
@@ -0,0 +1,75 @@
+From d0fd2c2bf87d7befaa8810a70d7eb2061664f02f Mon Sep 17 00:00:00 2001
+From: zhongtao <zhongtao17@huawei.com>
+Date: Fri, 14 Jun 2024 09:55:28 +0800
+Subject: [PATCH 111/121] bugfix for file param verify
+
+Signed-off-by: zhongtao <zhongtao17@huawei.com>
+---
+ src/cmd/isula/base/create.c | 19 +++++++++++++++++++
+ src/cmd/isula/images/load.c | 6 ++++++
+ 2 files changed, 25 insertions(+)
+
+diff --git a/src/cmd/isula/base/create.c b/src/cmd/isula/base/create.c
+index 543b8fd6..b04dddb5 100644
+--- a/src/cmd/isula/base/create.c
++++ b/src/cmd/isula/base/create.c
+@@ -292,6 +292,12 @@ static int append_env_variables_to_conf(const char *env_file, isula_container_co
+ int ret = 0;
+ size_t file_size;
+
++ if (util_dir_exists(env_file)) {
++ COMMAND_ERROR("Env file is a directory: %s", env_file);
++ ret = -1;
++ goto out;
++ }
++
+ if (!util_file_exists(env_file)) {
+ COMMAND_ERROR("env file not exists: %s", env_file);
+ ret = -1;
+@@ -427,6 +433,12 @@ static int append_labels_to_conf(const char *label_file, isula_container_config_
+ int ret = 0;
+ size_t file_size;
+
++ if (util_dir_exists(label_file)) {
++ COMMAND_ERROR("Label file is a directory: %s", label_file);
++ ret = -1;
++ goto out;
++ }
++
+ if (!util_file_exists(label_file)) {
+ COMMAND_ERROR("label file not exists: %s", label_file);
+ ret = -1;
+@@ -2357,6 +2369,13 @@ static int create_check_env_target_file(const struct client_arguments *args)
+ ret = -1;
+ goto out;
+ }
++
++ if (util_dir_exists(env_path)) {
++ COMMAND_ERROR("Env target file is a directory: %s", env_path);
++ ret = -1;
++ goto out;
++ }
++
+ if (!util_file_exists(env_path)) {
+ goto out;
+ }
+diff --git a/src/cmd/isula/images/load.c b/src/cmd/isula/images/load.c
+index 314e5d5e..cb39dee7 100644
+--- a/src/cmd/isula/images/load.c
++++ b/src/cmd/isula/images/load.c
+@@ -162,6 +162,12 @@ int cmd_load_main(int argc, const char **argv)
+ g_cmd_load_args.file = file;
+ }
+
++ if (util_dir_exists(g_cmd_load_args.file)) {
++ COMMAND_ERROR("Load file is a directory: %s", g_cmd_load_args.file);
++ ret = -1;
++ exit(exit_code);
++ }
++
+ if (!util_file_exists(g_cmd_load_args.file)) {
+ COMMAND_ERROR("File %s is not exist", g_cmd_load_args.file);
+ exit(exit_code);
+--
+2.25.1
+