[prev in list] [next in list] [prev in thread] [next in thread]
List: linux-bluetooth
Subject: [BlueZ v2 04/20] client/gatt: Check write_value() retval
From: Bastien Nocera <hadess () hadess ! net>
Date: 2024-05-10 12:10:14
Message-ID: 20240510121355.3241456-5-hadess () hadess ! net
[Download RAW message or body]
Error: CHECKED_RETURN (CWE-252): [#def35]
bluez-5.75/client/gatt.c:3191:3: check_return: Calling "write_value" without checking \
return value (as is done elsewhere 5 out of 6 times). \
bluez-5.75/client/gatt.c:2371:2: example_checked: Example 1: \
"write_value(&chrc->value_len, &chrc->value, value, value_len, aad->offset, \
chrc->max_val_len)" has its value checked in "write_value(&chrc->value_len, \
&chrc->value, value, value_len, aad->offset, chrc->max_val_len)". \
bluez-5.75/client/gatt.c:2502:2: example_checked: Example 2: \
"write_value(&chrc->value_len, &chrc->value, value, value_len, offset, \
chrc->max_val_len)" has its value checked in "write_value(&chrc->value_len, \
&chrc->value, value, value_len, offset, chrc->max_val_len)". \
bluez-5.75/client/gatt.c:2919:2: example_checked: Example 3: \
"write_value(&desc->value_len, &desc->value, value, value_len, offset, \
desc->max_val_len)" has its value checked in "write_value(&desc->value_len, \
&desc->value, value, value_len, offset, desc->max_val_len)". \
bluez-5.75/client/gatt.c:759:3: example_checked: Example 4: \
"write_value(&c->value_len, &c->value, value, value_len, offset, c->max_val_len)" has \
its value checked in "write_value(&c->value_len, &c->value, value, value_len, offset, \
c->max_val_len)". bluez-5.75/client/gatt.c:775:3: example_checked: Example 5: \
"write_value(&d->value_len, &d->value, value, value_len, offset, d->max_val_len)" has \
its value checked in "write_value(&d->value_len, &d->value, value, value_len, offset, \
d->max_val_len)". 3189| }
3190|
3191|-> write_value(&chrc->value_len, &chrc->value, value, len,
3192| 0, chrc->max_val_len);
---
client/gatt.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/client/gatt.c b/client/gatt.c
index 6c7603985172..e85031277bd5 100644
--- a/client/gatt.c
+++ b/client/gatt.c
@@ -3197,9 +3197,13 @@ static void proxy_property_changed(GDBusProxy *proxy, const \
char *name, dbus_message_iter_get_fixed_array(&array, &value, &len);
}
- write_value(&chrc->value_len, &chrc->value, value, len,
- 0, chrc->max_val_len);
- bt_shell_hexdump(value, len);
+ if (write_value(&chrc->value_len, &chrc->value, value, len,
+ 0, chrc->max_val_len)) {
+ bt_shell_printf("Unable to update property value for %s\n",
+ name);
+ } else {
+ bt_shell_hexdump(value, len);
+ }
}
g_dbus_emit_property_changed(conn, chrc->path, CHRC_INTERFACE, name);
--
2.44.0
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic