summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSteffan Karger <steffan@karger.me>2015-09-21 22:04:19 +0200
committerGert Doering <gert@greenie.muc.de>2015-10-04 21:58:12 +0200
commitad71fe5f79ffbd4c86afa79d4559b08617b41dfb (patch)
tree6973e99c45d438b3400fd733f143ab6ff6f11473
parent6d4920e9d36675ff515da17c1eb301d22d07b489 (diff)
downloadopenvpn-ad71fe5f79ffbd4c86afa79d4559b08617b41dfb.tar.gz
openvpn-ad71fe5f79ffbd4c86afa79d4559b08617b41dfb.tar.xz
openvpn-ad71fe5f79ffbd4c86afa79d4559b08617b41dfb.zip
Check return value of ms_error_text()
ms_error_text() may return NULL, and it is unclear (or, at least undocumented) whether the OpenSSL ERR code (and our code using the ERR code) can deal with esd->string being NULL. So, just to be sure, check that ms_error_text() succeeded before passing the result to ERR_load_strings(). Signed-off-by: Steffan Karger <steffan@karger.me> Acked-by: Gert Doering <gert@greenie.muc.de> Message-Id: <561130FC.8090008@karger.me> URL: http://article.gmane.org/gmane.network.openvpn.devel/10176 Signed-off-by: Gert Doering <gert@greenie.muc.de> (cherry picked from commit 5584b738a332d0abc740d9303c275764c2ca13f1)
-rw-r--r--src/openvpn/cryptoapi.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/openvpn/cryptoapi.c b/src/openvpn/cryptoapi.c
index 1d54ee7..853c07b 100644
--- a/src/openvpn/cryptoapi.c
+++ b/src/openvpn/cryptoapi.c
@@ -164,6 +164,7 @@ static void err_put_ms_error(DWORD ms_err, int func, const char *file, int line)
err_map[i].ms_err = ms_err;
err_map[i].err = esd->error = i + 100;
esd->string = ms_error_text(ms_err);
+ check_malloc_return(esd->string);
ERR_load_strings(ERR_LIB_CRYPTOAPI, esd);
ERR_PUT_error(ERR_LIB_CRYPTOAPI, func, err_map[i].err, file, line);
break;