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.
This commit is contained in:
Holger Vogt 2025-09-04 00:25:26 +02:00
parent ecb288138f
commit a754cc187b
1 changed files with 0 additions and 1 deletions

View File

@ -46,7 +46,6 @@ static int handle_init_info(OsdiInitInfo info, const OsdiDescriptor *descr) {
printf("Unknown OSDO init error code %d!\n", err->code); printf("Unknown OSDO init error code %d!\n", err->code);
} }
} }
free(info.errors);
errMsg = tprintf("%i errors occurred during initialization", info.num_errors); errMsg = tprintf("%i errors occurred during initialization", info.num_errors);
return (E_PRIVATE); return (E_PRIVATE);
} }