# HG changeset patch # User Sebastien Decugis # Date 1244452840 -32400 # Node ID bad497b30f542c05c61b8fc63e0a0f0842125aaf # Parent bcc13af0825a738df967ce1d8325fdfec79190f3 Protect in case of NULL callback diff -r bcc13af0825a -r bad497b30f54 extensions/radius_gw/rgw_extensions.c --- a/extensions/radius_gw/rgw_extensions.c Wed Jun 03 18:14:17 2009 +0900 +++ b/extensions/radius_gw/rgw_extensions.c Mon Jun 08 18:20:40 2009 +0900 @@ -362,10 +362,14 @@ for (li = head->next; li != head; li = li->next) { struct ext_descr * ext = ((struct ext_accel_item *) li)->ext; - TRACE_DEBUG(ANNOYING, "Calling next extension: %s", ext->extname); - ret = (*ext->api.rga_rad_req_cb)(ext->cs, session, &(*rad)->radius, &rad_ans, diam_msg, (void *)cli); - if (ret) - break; + if (ext->api.rga_rad_req_cb) { + TRACE_DEBUG(ANNOYING, "Calling next extension: %s", ext->extname); + ret = (*ext->api.rga_rad_req_cb)(ext->cs, session, &(*rad)->radius, &rad_ans, diam_msg, (void *)cli); + if (ret) + break; + } else { + TRACE_DEBUG(ANNOYING, "Skipping next extension: %s (NULL callback)", ext->extname); + } } /* If no error encountered, we're done here */