On Sun, Dec 21, 2025 at 09:50:05PM -0800, Chandan Somani wrote:
> @@ -686,14 +684,16 @@ static void release_prop_array(Object *obj, const char
> *name, void *opaque)
> char *elem = *arrayptr;
> int i;
>
> - if (!prop->arrayinfo->release) {
> - return;
> + if (prop->arrayinfo->release) {
> + for (i = 0; i < *alenptr; i++) {
> + Property elem_prop = array_elem_prop(obj, prop, name, elem);
> + prop->arrayinfo->release(obj, NULL, &elem_prop);
> + elem += prop->arrayfieldsize;
> + }
> }
>
> - for (i = 0; i < *alenptr; i++) {
> - Property elem_prop = array_elem_prop(obj, prop, name, elem);
> - prop->arrayinfo->release(obj, NULL, &elem_prop);
> - elem += prop->arrayfieldsize;
> + if (*arrayptr) {
> + g_free(*arrayptr);
> }Optional cleanup to protect against use-after-free and similar issues: *arrayptr = NULL; *alenptr = 0;
signature.asc
Description: PGP signature
