]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
zero-length strings are allowed to have NULL ptrs
authorAlan T. DeKok <aland@freeradius.org>
Sat, 2 Jul 2022 12:19:56 +0000 (08:19 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Sat, 2 Jul 2022 15:18:59 +0000 (11:18 -0400)
src/lib/util/value.c

index 4c004a63e95baeb66fb5f775bed09aa9b23f51c9..e8aeee9099838a643186b5c36a788eadc1c80896 100644 (file)
@@ -5792,6 +5792,8 @@ DIAG_ON(nonnull-compare)
 
        switch (vb->type) {
        case FR_TYPE_STRING:
+               if (!vb->vb_length) return;
+
                fr_fatal_assert_msg(vb->vb_strvalue, "CONSISTENCY CHECK FAILED %s[%i]: fr_value_box_t strvalue field "
                                    "was NULL", file, line);
                fr_fatal_assert_msg(vb->vb_strvalue[vb->vb_length] == '\0',
@@ -5800,11 +5802,15 @@ DIAG_ON(nonnull-compare)
                break;
 
        case FR_TYPE_OCTETS:
+               if (!vb->vb_length) return;
+
                fr_fatal_assert_msg(vb->vb_octets, "CONSISTENCY CHECK FAILED %s[%i]: fr_value_box_t octets field "
                                    "was NULL", file, line);
                break;
 
        case FR_TYPE_VOID:
+               if (!vb->vb_length) return;
+
                fr_fatal_assert_msg(vb->vb_void, "CONSISTENCY CHECK FAILED %s[%i]: fr_value_box_t ptr field "
                                    "was NULL", file, line);
                break;