core: error: fix double free of errors released with b_error_release

This commit is contained in:
2025-08-09 19:48:40 +01:00
parent ed8e51ed5e
commit ee2611c678

View File

@@ -459,24 +459,8 @@ enum b_status z__b_error_add_submsg_template(
void b_error_release(struct b_error *error)
{
struct b_queue_entry *entry = b_queue_pop_back(&error->err_submsg);
while (entry) {
struct b_error_submsg *msg
= b_unbox(struct b_error_submsg, entry, msg_entry);
if (msg->msg_content) {
free(msg->msg_content);
}
free(msg);
entry = b_queue_pop_back(&error->err_submsg);
}
if (error->err_description) {
free(error->err_description);
}
free(error);
b_queue_delete(&allocated_errors, &error->err_entry);
b_queue_push_back(&free_errors, &error->err_entry);
}
void z__b_error_throw(