From dff8ef031f986ef702a3783b119450bb47e83f31 Mon Sep 17 00:00:00 2001 From: Oswald Buddenhagen Date: Fri, 5 Aug 2022 13:35:51 +0200 Subject: [PATCH] fix memory leaks in *_polldescriptors() the calloc'd pollfd arrays were not freed. --- alsaaudio.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/alsaaudio.c b/alsaaudio.c index b9d0407..17357bd 100644 --- a/alsaaudio.c +++ b/alsaaudio.c @@ -1767,6 +1767,7 @@ alsapcm_polldescriptors(alsapcm_t *self, PyObject *args) { PyErr_Format(ALSAAudioError, "Can't get poll descriptors [%s]", self->cardname); + free(fds); return NULL; } @@ -1775,6 +1776,7 @@ alsapcm_polldescriptors(alsapcm_t *self, PyObject *args) PyList_SetItem(result, i, Py_BuildValue("ih", fds[i].fd, fds[i].events)); } + free(fds); return result; } @@ -3142,6 +3144,7 @@ alsamixer_polldescriptors(alsamixer_t *self, PyObject *args) { PyErr_Format(ALSAAudioError, "Can't get poll descriptors [%s]", self->cardname); + free(fds); return NULL; } @@ -3150,6 +3153,7 @@ alsamixer_polldescriptors(alsamixer_t *self, PyObject *args) PyList_SetItem(result, i, Py_BuildValue("ih", fds[i].fd, fds[i].events)); } + free(fds); return result; }