ETHER: Avoid potential memory leak on network shutdown.

This commit is contained in:
Mark Pizzolato 2020-01-30 04:26:36 -08:00
parent 829e64ae67
commit 15590be464

View file

@ -1940,8 +1940,15 @@ while (dev->handle) {
/* Put buffer on free buffer list */ /* Put buffer on free buffer list */
request->next = dev->write_buffers; request->next = dev->write_buffers;
dev->write_buffers = request; dev->write_buffers = request;
request = NULL;
} }
} }
/* If we exited these loops with a request allocated, */
/* avoid buffer leaking by putting it on free buffer list */
if (request) {
request->next = dev->write_buffers;
dev->write_buffers = request;
}
pthread_mutex_unlock (&dev->writer_lock); pthread_mutex_unlock (&dev->writer_lock);
sim_debug(dev->dbit, dev->dptr, "Writer Thread Exiting\n"); sim_debug(dev->dbit, dev->dptr, "Writer Thread Exiting\n");