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 */
"Welcome to our mercurial repository"