From e66bb147ecb5418a95dba17816ac125f00b5838c Mon Sep 17 00:00:00 2001 From: Packit Service Date: Mar 31 2021 04:20:25 +0000 Subject: Apply patch bz1622050-2-libgfs2_Fix_pointer_cast_byte_order_issue.patch patch_name: bz1622050-2-libgfs2_Fix_pointer_cast_byte_order_issue.patch present_in_specfile: true --- diff --git a/gfs2/libgfs2/meta.c b/gfs2/libgfs2/meta.c index a828946..e0ea491 100644 --- a/gfs2/libgfs2/meta.c +++ b/gfs2/libgfs2/meta.c @@ -940,6 +940,7 @@ int lgfs2_field_str(char *str, const size_t size, const char *blk, const struct int lgfs2_field_assign(char *blk, const struct lgfs2_metafield *field, const void *val) { char *fieldp = blk + field->offset; + uint64_t num = *(uint64_t *)val; if (field->flags & LGFS2_MFF_UUID) { memcpy(fieldp, val, 16); @@ -959,16 +960,16 @@ int lgfs2_field_assign(char *blk, const struct lgfs2_metafield *field, const voi switch(field->length) { case sizeof(uint8_t): - *fieldp = *(uint8_t *)val; + *fieldp = (uint8_t)num; return 0; case sizeof(uint16_t): - *(uint16_t *)fieldp = cpu_to_be16(*(uint16_t *)val); + *(uint16_t *)fieldp = cpu_to_be16((uint16_t)num); return 0; case sizeof(uint32_t): - *(uint32_t *)fieldp = cpu_to_be32(*(uint32_t *)val); + *(uint32_t *)fieldp = cpu_to_be32((uint32_t)num); return 0; case sizeof(uint64_t): - *(uint64_t *)fieldp = cpu_to_be64(*(uint64_t *)val); + *(uint64_t *)fieldp = cpu_to_be64((uint64_t)num); return 0; default: /* Will never happen */