Skip to content

Commit 7333349

Browse files
kartbenfabiobaltieri
authored andcommitted
drivers: audio: dmic_nrfx: fix memory leak
Ensure proper release of memory slab when dmm_buffer_in_release fails in the event_handler function. Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
1 parent 575730e commit 7333349

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

drivers/audio/dmic_nrfx_pdm.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -148,6 +148,7 @@ static void event_handler(const struct device *dev, const nrfx_pdm_evt_t *evt)
148148
drv_data->block_size, evt->buffer_released);
149149
if (ret < 0) {
150150
LOG_ERR("Failed to release buffer: %d", ret);
151+
free_buffer(drv_data, mem_slab_buffer);
151152
return;
152153
}
153154
free_buffer(drv_data, mem_slab_buffer);
@@ -172,6 +173,7 @@ static void event_handler(const struct device *dev, const nrfx_pdm_evt_t *evt)
172173
drv_data->block_size, evt->buffer_released);
173174
if (ret < 0) {
174175
LOG_ERR("Failed to release buffer: %d", ret);
176+
free_buffer(drv_data, mem_slab_buffer);
175177
stop_pdm(drv_data);
176178
return;
177179
}

0 commit comments

Comments
 (0)