From 4202e1d6f4b9d7fda70bfec61e88e6e3c77a597d Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 11 Apr 2014 07:24:57 +0200 Subject: Do not segfault just because an error has not been given MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- src/location-geoclue.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/location-geoclue.c b/src/location-geoclue.c index 5be651f..d420457 100644 --- a/src/location-geoclue.c +++ b/src/location-geoclue.c @@ -67,9 +67,13 @@ location_geoclue_start(location_geoclue_state_t *state) g_object_unref(master); if (client == NULL) { - g_printerr(_("Unable to obtain master client: %s\n"), - error->message); - g_error_free(error); + if (error != NULL) { + g_printerr(_("Unable to obtain master client: %s\n"), + error->message); + g_error_free(error); + } else { + g_printerr(_("Unable to obtain master client\n")); + } return -1; } @@ -78,9 +82,13 @@ location_geoclue_start(location_geoclue_state_t *state) 0, FALSE, GEOCLUE_RESOURCE_NETWORK, &error)) { - g_printerr(_("Can't set requirements for master: %s\n"), - error->message); - g_error_free(error); + if (error != NULL) { + g_printerr(_("Can't set requirements for master: %s\n"), + error->message); + g_error_free(error); + } else { + g_printerr(_("Can't set requirements for master\n")); + } g_object_unref(client); return -1; -- cgit v1.2.3-70-g09d2