From: Arran Cudbard-Bell Date: Wed, 8 Sep 2021 20:51:10 +0000 (-0500) Subject: Fix wrong signed/unsigned value_box set (#4223) X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3cc552bf0970635109650fd90df657700df665a3;p=thirdparty%2Ffreeradius-server.git Fix wrong signed/unsigned value_box set (#4223) Co-authored-by: Jorge Pereira --- diff --git a/src/lib/util/value.c b/src/lib/util/value.c index cd49a53def7..2eff01980f9 100644 --- a/src/lib/util/value.c +++ b/src/lib/util/value.c @@ -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;