On Mon, 4 Mar 2024 11:44:04 +0100 Thomas Huth <th...@redhat.com> wrote:
> When setting GLIB_VERSION_MAX_ALLOWED to GLIB_VERSION_2_58 or higher > (which we'll certainly do in the not too distant future), glib adds > type safety checks to the g_steal_pointer() macro. This trigger an > error in the ct3_load_cdat() function: The local char *buf variable is > assigned to uint8_t *buf in CDATObject, i.e. a pointer of a different > type. Change the local variable to the same type as buf in CDATObject > to avoid the error. > > Signed-off-by: Thomas Huth <th...@redhat.com> Reviewed-by: Jonathan Cameron <jonathan.came...@huawei.com> > --- > hw/cxl/cxl-cdat.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/hw/cxl/cxl-cdat.c b/hw/cxl/cxl-cdat.c > index 2fea975671..551545f782 100644 > --- a/hw/cxl/cxl-cdat.c > +++ b/hw/cxl/cxl-cdat.c > @@ -114,7 +114,7 @@ static void ct3_build_cdat(CDATObject *cdat, Error **errp) > static void ct3_load_cdat(CDATObject *cdat, Error **errp) > { > g_autofree CDATEntry *cdat_st = NULL; > - g_autofree char *buf = NULL; > + g_autofree uint8_t *buf = NULL; > uint8_t sum = 0; > int num_ent; > int i = 0, ent = 1; > @@ -171,7 +171,7 @@ static void ct3_load_cdat(CDATObject *cdat, Error **errp) > cdat_st[ent].base = hdr; > cdat_st[ent].length = hdr->length; > > - while (buf + i < (char *)cdat_st[ent].base + cdat_st[ent].length) { > + while (buf + i < (uint8_t *)cdat_st[ent].base + cdat_st[ent].length) > { > assert(i < file_size); > sum += buf[i++]; > }