From af28d2416d20b0d2e30c706ba60d2e6f3afc5cc5 Mon Sep 17 00:00:00 2001 From: Holger Vogt Date: Thu, 4 Sep 2025 00:25:26 +0200 Subject: [PATCH] free(info.errors) leads to a assertion error on the heap. On Windows it reads: is_block_type_valid(header->_block_use). Memory for info.errors is allocated in the osdi device dll during the call to descr->setup_instance((void *)&handle, inst, model, temp, connected_terminals, sim_params, &init_info); (in fcn OSDIsetup(), line 254 of osdisetup.c). Therefore ngspice is not the owner of this memory and thus cannot free it. Fixes bug no. 803. --- src/osdi/osdisetup.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/osdi/osdisetup.c b/src/osdi/osdisetup.c index 4feb3ec90..46cabceb5 100644 --- a/src/osdi/osdisetup.c +++ b/src/osdi/osdisetup.c @@ -46,7 +46,6 @@ static int handle_init_info(OsdiInitInfo info, const OsdiDescriptor *descr) { printf("Unknown OSDO init error code %d!\n", err->code); } } - free(info.errors); errMsg = tprintf("%i errors occurred during initialization", info.num_errors); return (E_PRIVATE); }