From 4ac75f554e30346de0eafa4e52cd6bb81eb06773 Mon Sep 17 00:00:00 2001 From: Rob Norris Date: Fri, 4 Mar 2016 22:00:22 +0000 Subject: Ensure memory is freed in gps library client on dbus failures. Signed-off-by: Jon Schlueter --- libgps_dbus.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libgps_dbus.c') diff --git a/libgps_dbus.c b/libgps_dbus.c index e179330e..7ecd9421 100644 --- a/libgps_dbus.c +++ b/libgps_dbus.c @@ -64,6 +64,8 @@ static DBusHandlerResult handle_gps_fix(DBusMessage * message) else share_gpsdata->status = STATUS_NO_FIX; + dbus_error_free(&error); + PRIVATE(share_gpsdata)->handler(share_gpsdata); return DBUS_HANDLER_RESULT_HANDLED; } @@ -96,6 +98,7 @@ int gps_dbus_open(struct gps_data_t *gpsdata) connection = dbus_bus_get(DBUS_BUS_SYSTEM, &error); if (dbus_error_is_set(&error)) { syslog(LOG_CRIT, "%s: %s", error.name, error.message); + dbus_error_free(&error); return 3; } @@ -103,6 +106,7 @@ int gps_dbus_open(struct gps_data_t *gpsdata) if (dbus_error_is_set(&error)) { syslog(LOG_CRIT, "unable to add match for signals %s: %s", error.name, error.message); + dbus_error_free(&error); return 4; } -- cgit v1.2.1