From: Zbigniew Jędrzejewski-Szmek Date: Mon, 5 Feb 2018 08:54:57 +0000 (+0100) Subject: gcrypt-util: fix memleak X-Git-Tag: v238~145^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=bd944e6e1854df9aa6002fed015226d6298029b6;p=thirdparty%2Fsystemd.git gcrypt-util: fix memleak --- diff --git a/src/basic/gcrypt-util.c b/src/basic/gcrypt-util.c index 1bfb776725c..34d0d399b7c 100644 --- a/src/basic/gcrypt-util.c +++ b/src/basic/gcrypt-util.c @@ -42,7 +42,7 @@ void initialize_libgcrypt(bool secmem) { } int string_hashsum(const char *s, size_t len, int md_algorithm, char **out) { - gcry_md_hd_t md = NULL; + _cleanup_(gcry_md_closep) gcry_md_hd_t md = NULL; size_t hash_size; void *hash; char *enc; diff --git a/src/basic/gcrypt-util.h b/src/basic/gcrypt-util.h index 69faf08e56f..714cae673bb 100644 --- a/src/basic/gcrypt-util.h +++ b/src/basic/gcrypt-util.h @@ -20,6 +20,8 @@ along with systemd; If not, see . ***/ +#pragma once + #include #include #include @@ -27,8 +29,12 @@ #if HAVE_GCRYPT #include +#include "macro.h" + void initialize_libgcrypt(bool secmem); int string_hashsum(const char *s, size_t len, int md_algorithm, char **out); + +DEFINE_TRIVIAL_CLEANUP_FUNC(gcry_md_hd_t, gcry_md_close); #endif static inline int string_hashsum_sha224(const char *s, size_t len, char **out) {