]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Don't copy the entire datum union
authorArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 17 Nov 2016 17:49:00 +0000 (12:49 -0500)
committerArran Cudbard-Bell <a.cudbardb@freeradius.org>
Thu, 17 Nov 2016 17:49:00 +0000 (12:49 -0500)
src/lib/value.c

index 1b3901f61aa14cd620c3761092515c93c98e6c33..263b8d4d4135aff3fda129a9cdb6b918a8a82ce1 100644 (file)
@@ -1702,7 +1702,9 @@ int value_box_copy(TALLOC_CTX *ctx, value_box_t *dst, PW_TYPE src_type, const va
 {
        switch (src_type) {
        default:
-               memcpy(&dst->datum, &src->datum, value_box_field_sizes[src_type]);
+               memcpy(((uint8_t *)dst) + value_box_offsets[src_type],
+                      ((uint8_t const *)src) + value_box_offsets[src_type],
+                      value_box_field_sizes[src_type]);
                break;
 
        case PW_TYPE_STRING: