Avoid null pointer derefrence in grib_expression_free().
@@ -89,6 +89,7 @@ void grib_expression_print(grib_context* ctx, grib_expression* g, grib_handle* f
void grib_expression_free(grib_context* ctx, grib_expression* g)
{
+ if (g) {
grib_expression_class* c = g->cclass;
while (c) {
if (c->destroy)
@@ -97,6 +98,7 @@ void grib_expression_free(grib_context* ctx, grib_expression* g)
}
grib_context_free_persistent(ctx, g);
}
+}
void grib_expression_add_dependency(grib_expression* e, grib_accessor* observer)
{
