ACK: [PATCH] tpmevlogdump: fix leak of fd on error return paths, voidify close returns
Alex Hung
alex.hung at canonical.com
Tue Jul 7 03:41:46 UTC 2020
On 2020-07-06 12:14 p.m., Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> Ensure that fd is not leaked on error returns paths, close these before
> returning. Make minor closedir re-ordering change at end of function
> to save one closedir call. Explicitly void-ify the error returns from
> close and closedir calls.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/tpm/tpmevlogdump/tpmevlogdump.c | 13 +++++++------
> 1 file changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/src/tpm/tpmevlogdump/tpmevlogdump.c b/src/tpm/tpmevlogdump/tpmevlogdump.c
> index 4a6276b3..998b48eb 100644
> --- a/src/tpm/tpmevlogdump/tpmevlogdump.c
> +++ b/src/tpm/tpmevlogdump/tpmevlogdump.c
> @@ -431,7 +431,8 @@ static int tpmevlogdump_test1(fwts_framework *fw)
> tpm_logfile_found = true;
> if (data == NULL) {
> fwts_log_info(fw, "Cannot load the tpm event logs. Aborted.");
> - closedir(dir);
> + (void)closedir(dir);
> + (void)close(fd);
> return FWTS_ABORTED;
> } else {
> /* check if the TPM2 eventlog */
> @@ -440,23 +441,23 @@ static int tpmevlogdump_test1(fwts_framework *fw)
> else {
> fwts_log_info(fw, "Cannot find the tpm2 event log. Aborted.");
> free(data);
> - closedir(dir);
> + (void)closedir(dir);
> + (void)close(fd);
> return FWTS_ABORTED;
> }
> free(data);
> }
> - close(fd);
> + (void)close(fd);
> }
> }
> } while (tpmdir);
>
> + (void)closedir(dir);
> +
> if (!tpm_logfile_found) {
> fwts_log_info(fw, "Cannot find the tpm event log. Aborted.");
> - closedir(dir);
> return FWTS_ABORTED;
> }
> -
> - closedir(dir);
> return FWTS_OK;
> }
>
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list