From f1e7cbaef7dbbb6493be8ad7520e0adda5fef088 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 7 Apr 2021 15:54:26 +0200 Subject: [PATCH] sd-bus: make sd_bus_error_set() more like sd_bus_error_setfv() In b9c19bc384fd41c173a8e453bd157544400af059, I added an assert to _setfv() and _setf(), but I forgot to do the same in _set(). Let's do this for completeness. While at it, restructure _set() to use the same style as _setfv(). --- src/libsystemd/sd-bus/bus-error.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/libsystemd/sd-bus/bus-error.c b/src/libsystemd/sd-bus/bus-error.c index 7747600b83..7483b46a11 100644 --- a/src/libsystemd/sd-bus/bus-error.c +++ b/src/libsystemd/sd-bus/bus-error.c @@ -212,27 +212,29 @@ _public_ void sd_bus_error_free(sd_bus_error *e) { } _public_ int sd_bus_error_set(sd_bus_error *e, const char *name, const char *message) { + int r; if (!name) return 0; - if (!e) - goto finish; - assert_return(!bus_error_is_dirty(e), -EINVAL); + if (e) { + assert_return(!bus_error_is_dirty(e), -EINVAL); - e->name = strdup(name); - if (!e->name) { - *e = BUS_ERROR_OOM; - return -ENOMEM; - } + e->name = strdup(name); + if (!e->name) { + *e = BUS_ERROR_OOM; + return -ENOMEM; + } - if (message) - e->message = strdup(message); + if (message) + e->message = strdup(message); - e->_need_free = 1; + e->_need_free = 1; + } -finish: - return -bus_error_name_to_errno(name); + r = bus_error_name_to_errno(name); + assert(r > 0); + return -r; } int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_list ap) { -- 2.25.1