]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
fix ASAN issues. Fixes #4968
authorAlan T. DeKok <aland@freeradius.org>
Fri, 7 Apr 2023 12:11:18 +0000 (08:11 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Fri, 7 Apr 2023 12:11:49 +0000 (08:11 -0400)
src/main/map.c

index ffee770ffffd17fd51307a2bd04a5d17e9daf8b5..e59fcec6f056eea50493c1fd77c4b77d1514b24e 100644 (file)
@@ -1223,9 +1223,10 @@ int map_to_request(REQUEST *request, vp_map_t const *map, radius_map_getvalue_t
         */
        num = map->lhs->tmpl_num;
        (void) fr_cursor_init(&dst_list, list);
-       if (num != NUM_ANY) {
+       if ((num != NUM_ANY) && (num > 0)) {
                while ((dst = fr_cursor_next_by_da(&dst_list, map->lhs->tmpl_da, map->lhs->tmpl_tag))) {
-                       if (num-- == 0) break;
+                       if (num <= 0) break;
+                       num--;
                }
        } else {
                dst = fr_cursor_next_by_da(&dst_list, map->lhs->tmpl_da, map->lhs->tmpl_tag);