If qpl_init_job() fails, the previously allocated job memory is not freed before returning. Fix this by adding a `free(job)` call in the error path.
Signed-off-by: Nithurshen <[email protected]> --- lib/decompress.c | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/decompress.c b/lib/decompress.c index 3e7a173..e7ec83e 100644 --- a/lib/decompress.c +++ b/lib/decompress.c @@ -149,6 +149,7 @@ static qpl_job *z_erofs_qpl_get_job(void) status = qpl_init_job(execution_path, (qpl_job *)job->job); if (status != QPL_STS_OK) { erofs_err("failed to initialize job: %d", status); + free(job); return ERR_PTR(-EOPNOTSUPP); } erofs_atomic_dec_return(&z_erofs_qpl_reclaim_quot); -- 2.51.0
