Don't crash on unexpected regex. Closes #1959
authorAlan T. DeKok <aland@freeradius.org>
Fri, 7 Apr 2017 01:18:27 +0000 (21:18 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 7 Apr 2017 01:18:27 +0000 (21:18 -0400)
src/main/pair.c
src/modules/rlm_expr/paircmp.c

index fea349e..f679ade 100644 (file)
@@ -79,6 +79,8 @@ int radius_compare_vps(UNUSED REQUEST *request, VALUE_PAIR *check, VALUE_PAIR *v
                char *expr = NULL, *value = NULL;
                char const *expr_p, *value_p;
 
+               if (!vp) return -2;
+
                if (check->da->type == PW_TYPE_STRING) {
                        expr_p = check->vp_strvalue;
                } else {
index 5d6f626..8d3dde9 100644 (file)
@@ -217,7 +217,7 @@ static int genericcmp(UNUSED void *instance,
        /*
         *      Will do the xlat for us
         */
-       return radius_compare_vps(request, check, NULL);
+       return radius_compare_vps(request, check, req);
 }
 
 static int generic_attrs[] = {