From: Alan T. DeKok Date: Tue, 11 Oct 2016 16:54:54 +0000 (-0400) Subject: vps may be NULL. Fixes #1778 X-Git-Tag: release_3_0_13~144 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=cbb088102bf0ef56ec684a1083befb55ff2627fa;p=thirdparty%2Ffreeradius-server.git vps may be NULL. Fixes #1778 The VERIFY_LIST macro shouild be protected by an "if *vps" check. It should also be run once all of the VPs have been added, and not on every VP which is added. --- diff --git a/src/modules/rlm_perl/rlm_perl.c b/src/modules/rlm_perl/rlm_perl.c index 3a01ea91c82..73db48a7659 100644 --- a/src/modules/rlm_perl/rlm_perl.c +++ b/src/modules/rlm_perl/rlm_perl.c @@ -700,8 +700,6 @@ static void pairadd_sv(TALLOC_CTX *ctx, REQUEST *request, VALUE_PAIR **vps, char VALUE_PAIR *vp; STRLEN len; - VERIFY_LIST(*vps); - if (!SvOK(sv)) { fail: REDEBUG("Failed to create pair &%s:%s %s $%s{'%s'} -> '%s'", list_name, key, @@ -752,6 +750,8 @@ static void get_hv_content(TALLOC_CTX *ctx, REQUEST *request, HV *my_hv, VALUE_P pairadd_sv(ctx, request, vps, key, res_sv, T_OP_EQ, hash_name, list_name); } } + + if (*vps) VERIFY_LIST(*vps); } /*