2020-11-29 06:23:54

by Stotland, Inga

[permalink] [raw]
Subject: [PATCH BlueZ v2] mesh: Fix check for mkdir return value in keyring.c

Remove check for mkdir() return value, since checking for zero does not
cover "already exists" condition and adding extra check for errno value
unnecessarily complicates the code. If mkdir() fails due to any reason
than "already exists", the subsequent call to open() fails and the
error is detected and corectly processed by the code.
---
mesh/keyring.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/mesh/keyring.c b/mesh/keyring.c
index 1ef4fc3ef..0b74ee914 100644
--- a/mesh/keyring.c
+++ b/mesh/keyring.c
@@ -51,8 +51,7 @@ bool keyring_put_net_key(struct mesh_node *node, uint16_t net_idx,

snprintf(key_file, PATH_MAX, "%s%s", node_path, net_key_dir);

- if (!mkdir(key_file, 0755))
- return false;
+ mkdir(key_file, 0755);

snprintf(key_file, PATH_MAX, "%s%s/%3.3x", node_path, net_key_dir,
net_idx);
@@ -88,8 +87,7 @@ bool keyring_put_app_key(struct mesh_node *node, uint16_t app_idx,

snprintf(key_file, PATH_MAX, "%s%s", node_path, app_key_dir);

- if (!mkdir(key_file, 0755))
- return false;
+ mkdir(key_file, 0755);

snprintf(key_file, PATH_MAX, "%s%s/%3.3x", node_path, app_key_dir,
app_idx);
@@ -207,8 +205,7 @@ bool keyring_put_remote_dev_key(struct mesh_node *node, uint16_t unicast,

snprintf(key_file, PATH_MAX, "%s%s", node_path, dev_key_dir);

- if (!mkdir(key_file, 0755))
- return false;
+ mkdir(key_file, 0755);

for (i = 0; i < count; i++) {
snprintf(key_file, PATH_MAX, "%s%s/%4.4x", node_path,
--
2.26.2


2020-12-04 18:14:38

by Gix, Brian

[permalink] [raw]
Subject: Re: [PATCH BlueZ v2] mesh: Fix check for mkdir return value in keyring.c

Applied
On Sat, 2020-11-28 at 22:22 -0800, Inga Stotland wrote:
> Remove check for mkdir() return value, since checking for zero does not
> cover "already exists" condition and adding extra check for errno value
> unnecessarily complicates the code. If mkdir() fails due to any reason
> than "already exists", the subsequent call to open() fails and the
> error is detected and corectly processed by the code.
> ---
> mesh/keyring.c | 9 +++------
> 1 file changed, 3 insertions(+), 6 deletions(-)
>
> diff --git a/mesh/keyring.c b/mesh/keyring.c
> index 1ef4fc3ef..0b74ee914 100644
> --- a/mesh/keyring.c
> +++ b/mesh/keyring.c
> @@ -51,8 +51,7 @@ bool keyring_put_net_key(struct mesh_node *node, uint16_t net_idx,
>
> snprintf(key_file, PATH_MAX, "%s%s", node_path, net_key_dir);
>
> - if (!mkdir(key_file, 0755))
> - return false;
> + mkdir(key_file, 0755);
>
> snprintf(key_file, PATH_MAX, "%s%s/%3.3x", node_path, net_key_dir,
> net_idx);
> @@ -88,8 +87,7 @@ bool keyring_put_app_key(struct mesh_node *node, uint16_t app_idx,
>
> snprintf(key_file, PATH_MAX, "%s%s", node_path, app_key_dir);
>
> - if (!mkdir(key_file, 0755))
> - return false;
> + mkdir(key_file, 0755);
>
> snprintf(key_file, PATH_MAX, "%s%s/%3.3x", node_path, app_key_dir,
> app_idx);
> @@ -207,8 +205,7 @@ bool keyring_put_remote_dev_key(struct mesh_node *node, uint16_t unicast,
>
> snprintf(key_file, PATH_MAX, "%s%s", node_path, dev_key_dir);
>
> - if (!mkdir(key_file, 0755))
> - return false;
> + mkdir(key_file, 0755);
>
> for (i = 0; i < count; i++) {
> snprintf(key_file, PATH_MAX, "%s%s/%4.4x", node_path,