From 618413e1d284cda30745b355a9759671a6711365 Mon Sep 17 00:00:00 2001 From: Panagiotis Vasilikos Date: Wed, 29 Jan 2020 13:30:24 +0100 Subject: [PATCH] Resource leak in persist_read.c Reason: In lines 435 and 439, the function returns without calling closing fptr which was opened at line 399. Fix: I added fclose(fptr) statements before each of the returns. Signed-off-by: Panagiotis Vasilikos --- src/persist_read.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/persist_read.c b/src/persist_read.c index 9613b059..22dd5c5d 100644 --- a/src/persist_read.c +++ b/src/persist_read.c @@ -4,12 +4,12 @@ Copyright (c) 2010-2018 Roger Light All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 and Eclipse Distribution License v1.0 which accompany this distribution. - + The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution License is available at http://www.eclipse.org/org/documents/edl-v10.php. - + Contributors: Roger Light - initial implementation and documentation. */ @@ -432,10 +432,12 @@ int persist__restore(struct mosquitto_db *db) case DB_CHUNK_CFG: if(db_version == 5){ if(persist__chunk_cfg_read_v5(fptr, &cfg_chunk)){ + fclose(fptr); return 1; } }else{ if(persist__chunk_cfg_read_v234(fptr, &cfg_chunk)){ + fclose(fptr); return 1; } }