]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Fix wrong signed/unsigned value_box set (#4223)
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Wed, 8 Sep 2021 20:51:10 +0000 (15:51 -0500)
committerGitHub <noreply@github.com>
Wed, 8 Sep 2021 20:51:10 +0000 (15:51 -0500)
Co-authored-by: Jorge Pereira <jpereiran@gmail.com>
src/lib/util/value.c

index cd49a53def7ff00b25ac5d4ddaf5af70a3c4adce..2eff01980f959f0aaa626fe11657d2b35834100b 100644 (file)
@@ -591,7 +591,7 @@ int fr_value_box_cmp(fr_value_box_t const *a, fr_value_box_t const *b)
                break;
 
        case FR_TYPE_UINT32:
-               CHECK(int32);
+               CHECK(uint32);
                break;
 
        case FR_TYPE_UINT64:
@@ -1099,11 +1099,15 @@ int fr_value_box_hton(fr_value_box_t *dst, fr_value_box_t const *src)
                break;
 
        case FR_TYPE_INT16:
-               dst->vb_uint16 = htons(src->vb_uint16);
+               dst->vb_int16 = htons(src->vb_int16);
                break;
 
        case FR_TYPE_INT32:
-               dst->vb_uint32 = htonl(src->vb_uint32);
+               dst->vb_int32 = htonl(src->vb_int32);
+               break;
+
+       case FR_TYPE_INT64:
+               dst->vb_int64 = htonll(src->vb_int64);
                break;
 
        case FR_TYPE_DATE:
@@ -1114,10 +1118,6 @@ int fr_value_box_hton(fr_value_box_t *dst, fr_value_box_t const *src)
                dst->vb_time_delta = htonll(src->vb_time_delta);
                break;
 
-       case FR_TYPE_INT64:
-               dst->vb_uint64 = htonll(src->vb_uint64);
-               break;
-
        case FR_TYPE_FLOAT32:
                dst->vb_float32 = htonl((uint32_t)src->vb_float32);
                break;