Mercurial > hg > waaad
changeset 404:bad497b30f54
Protect in case of NULL callback
author | Sebastien Decugis <sdecugis@nict.go.jp> |
---|---|
date | Mon, 08 Jun 2009 18:20:40 +0900 |
parents | bcc13af0825a |
children | c7ea4e86870a |
files | extensions/radius_gw/rgw_extensions.c |
diffstat | 1 files changed, 8 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- 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 */