From 9991269c8eb4266b52ecf7e7a582a00c748c0e56 Mon Sep 17 00:00:00 2001 From: Gergely Polonkai Date: Tue, 2 Sep 2014 12:53:37 +0200 Subject: [PATCH] Remove SEGFAULT possibility from gswe_moment_calculate_planet() --- src/gswe-moment.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/gswe-moment.c b/src/gswe-moment.c index cfaa321..4b26f5e 100644 --- a/src/gswe-moment.c +++ b/src/gswe-moment.c @@ -843,13 +843,20 @@ gswe_moment_add_all_planets(GsweMoment *moment) } static void -gswe_moment_calculate_planet( - GsweMoment *moment, - GswePlanet planet, - GError **err) +gswe_moment_calculate_planet(GsweMoment *moment, + GswePlanet planet, + GError **err) { - // TODO: g_list_find_custom may return NULL here. SEGFAULT possibility! - GswePlanetData *planet_data = (GswePlanetData *)(g_list_find_custom( + GswePlanetData *planet_data; + gpointer data = g_list_find_custom( + moment->priv->planet_list, + &planet, + (GCompareFunc)find_planet_by_id + ); + + g_return_if_fail(data != NULL); + + planet_data = (GswePlanetData *)(g_list_find_custom( moment->priv->planet_list, &planet, (GCompareFunc)find_planet_by_id