Several fixlets for issues found by Coverity (#40707)

This commit is contained in:
Yu Watanabe
2026-02-17 18:26:46 +09:00
committed by GitHub
4 changed files with 31 additions and 22 deletions
+13 -8
View File
@@ -4,6 +4,7 @@
#include "alloc-util.h"
#include "bus-control.h"
#include "bus-error.h"
#include "bus-internal.h"
#include "bus-message.h"
#include "fd-util.h"
@@ -136,11 +137,14 @@ static int default_request_name_handler(
assert(m);
if (sd_bus_message_is_method_error(m, NULL)) {
log_debug_errno(sd_bus_message_get_errno(m),
"Unable to request name, failing connection: %s",
sd_bus_message_get_error(m)->message);
const sd_bus_error *e = ASSERT_PTR(sd_bus_message_get_error(m));
r = sd_bus_error_get_errno(e);
bus_enter_closing(sd_bus_message_get_bus(m), -sd_bus_message_get_errno(m));
log_debug_errno(r,
"Unable to request name, failing connection: %s",
bus_error_message(e, r));
bus_enter_closing(sd_bus_message_get_bus(m), -r);
return 1;
}
@@ -290,11 +294,12 @@ static int default_release_name_handler(
assert(m);
if (sd_bus_message_is_method_error(m, NULL)) {
log_debug_errno(sd_bus_message_get_errno(m),
"Unable to release name, failing connection: %s",
sd_bus_message_get_error(m)->message);
const sd_bus_error *e = ASSERT_PTR(sd_bus_message_get_error(m));
r = sd_bus_error_get_errno(e);
bus_enter_closing(sd_bus_message_get_bus(m), -sd_bus_message_get_errno(m));
log_debug_errno(r, "Unable to release name, failing connection: %s", bus_error_message(e, r));
bus_enter_closing(sd_bus_message_get_bus(m), -r);
return 1;
}
+5 -2
View File
@@ -3483,10 +3483,13 @@ static int add_match_callback(
sd_bus_slot_ref(match_slot);
if (sd_bus_message_is_method_error(m, NULL)) {
r = log_debug_errno(sd_bus_message_get_errno(m),
const sd_bus_error *e = ASSERT_PTR(sd_bus_message_get_error(m));
r = sd_bus_error_get_errno(e);
r = log_debug_errno(r,
"Unable to add match %s, failing connection: %s",
match_slot->match_callback.match_string,
sd_bus_message_get_error(m)->message);
bus_error_message(e, r));
failed = true;
} else
+12 -9
View File
@@ -109,16 +109,16 @@ static int map_dns(
void *userdata) {
Bearer *b = ASSERT_PTR(userdata);
struct in_addr_full *a;
const char *s;
int r;
assert(m);
const char *s;
r = sd_bus_message_read_basic(m, 's', &s);
if (r < 0)
return r;
_cleanup_free_ struct in_addr_full *a = NULL;
r = in_addr_full_new_from_string(s, &a);
if (r < 0)
return r;
@@ -127,7 +127,6 @@ static int map_dns(
return -ENOMEM;
b->dns[b->n_dns++] = TAKE_PTR(a);
return 0;
}
@@ -477,18 +476,16 @@ static int bearer_new_and_initialize(Modem *modem, const char *path) {
static int modem_connect_handler(sd_bus_message *message, void *userdata, sd_bus_error *ret_error) {
Modem *modem = ASSERT_PTR(userdata);
const sd_bus_error *e;
const char *new_bearer;
int r;
assert(message);
modem->slot_connect = sd_bus_slot_unref(modem->slot_connect);
e = sd_bus_message_get_error(message);
const sd_bus_error *e = sd_bus_message_get_error(message);
if (e) {
r = sd_bus_error_get_errno(e);
log_full_errno(LOG_ERR, r,
log_error_errno(r,
"Could not connect modem %s %s: %s",
modem->manufacturer, modem->model,
bus_error_message(e, r));
@@ -497,10 +494,16 @@ static int modem_connect_handler(sd_bus_message *message, void *userdata, sd_bus
return 0;
}
sd_bus_message_read(message, "o", &new_bearer);
const char *new_bearer;
r = sd_bus_message_read(message, "o", &new_bearer);
if (r < 0) {
log_debug_errno(r, "Received connection of %s %s from ModemManager, but bearer not found, ignoring: %m",
modem->manufacturer, modem->model);
return 0;
}
log_debug("ModemManager: %s %s connected, bearer is at %s",
modem->manufacturer, modem->model, new_bearer);
return 0;
}
+1 -3
View File
@@ -286,9 +286,7 @@ static int async_polkit_read_reply(sd_bus_message *reply, AsyncPolkitQuery *q) {
a = ASSERT_PTR(TAKE_PTR(q->action));
if (sd_bus_message_is_method_error(reply, NULL)) {
const sd_bus_error *e;
e = sd_bus_message_get_error(reply);
const sd_bus_error *e = ASSERT_PTR(sd_bus_message_get_error(reply));
if (bus_error_is_unknown_service(e)) {
/* If PK is absent, then store this away, as it depends on the callers flags whether