From: Aaron An Date: Mon, 4 Jan 2016 10:26:55 +0000 (+0800) Subject: cel/cel_radius: Fix wrong pointer. X-Git-Tag: 11.22.0-rc1~46^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2b0747817f2e85e8b9d973fc3cf2c1110595c43a;p=thirdparty%2Fasterisk.git cel/cel_radius: Fix wrong pointer. The macro ADD_VENDOR_CODE defined in the cel_radius.c should use the parameter y not the address of y. I capture the radius UDP packet via tcpdump, and the AV pairs are not correct, then i review the source code and compare it with cdr/cdr_radius.c. Fix it and it works. ASTERISK-25647 #close Reported by: Aaron An Tested by: Aaron An Change-Id: I72889bccd8fde120d47aa659edc0e7e6d4d019f0 --- diff --git a/cel/cel_radius.c b/cel/cel_radius.c index f69b9736a2..db0acfb42f 100644 --- a/cel/cel_radius.c +++ b/cel/cel_radius.c @@ -94,7 +94,7 @@ static struct ast_flags global_flags = { RADIUS_FLAG_USEGMTIME | RADIUS_FLAG_LOG static rc_handle *rh = NULL; static struct ast_event_sub *event_sub = NULL; -#define ADD_VENDOR_CODE(x,y) (rc_avpair_add(rh, send, x, &y, strlen(y), VENDOR_CODE)) +#define ADD_VENDOR_CODE(x,y) (rc_avpair_add(rh, send, x, (void *)y, strlen(y), VENDOR_CODE)) static int build_radius_record(VALUE_PAIR **send, struct ast_cel_event_record *record) { @@ -175,7 +175,7 @@ static int build_radius_record(VALUE_PAIR **send, struct ast_cel_event_record *r /* Setting Acct-Session-Id & User-Name attributes for proper generation of Acct-Unique-Session-Id on server side */ /* Channel */ - if (!rc_avpair_add(rh, send, PW_USER_NAME, &record->channel_name, + if (!rc_avpair_add(rh, send, PW_USER_NAME, (void *)record->channel_name, strlen(record->channel_name), 0)) { return -1; }