Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Update
systemd.4328
0004-sd-bus-if-we-don-t-manage-to-properly-allo...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 0004-sd-bus-if-we-don-t-manage-to-properly-allocate-the-e.patch of Package systemd.4328
From 455cd8b137b8ef45d04889f2d967c562a097f1e6 Mon Sep 17 00:00:00 2001 From: Lennart Poettering <lennart@poettering.net> Date: Fri, 24 Oct 2014 19:24:53 +0200 Subject: [PATCH] sd-bus: if we don't manage to properly allocate the error message for an sd_bus_error, just go on sd_bus_error_setfv() must initialize the sd_bus_error value to some sensible value and then return a good errno code matching that. If it cannot work at all it should set the error statically to the OOM error. But if it can work half-way (i.e. initialize the name, but not the message) it should do so and still return the correct errno number for it. This effectively reverts 8bf13eb1e02b9977ae1cd331ae5dc7305a305a09 --- src/libsystemd/sd-bus/bus-error.c | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git src/libsystemd/sd-bus/bus-error.c src/libsystemd/sd-bus/bus-error.c index 5ca974a..af83c12 100644 --- src/libsystemd/sd-bus/bus-error.c +++ src/libsystemd/sd-bus/bus-error.c @@ -194,13 +194,10 @@ int bus_error_setfv(sd_bus_error *e, const char *name, const char *format, va_li return -ENOMEM; } - if (format) { - int r; - - r = vasprintf((char**) &e->message, format, ap); - if (r < 0) - return -ENOMEM; - } + /* Of we hit OOM on formatting the pretty message, we ignore + * this, since we at least managed to write the error name */ + if (format) + (void) vasprintf((char**) &e->message, format, ap); e->_need_free = 1; -- 1.7.9.2
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor