From: Richard Levitte Date: Mon, 19 Jul 2004 16:36:28 +0000 (+0000) Subject: Imported from LPlib, making sure the entry name (at least on Unix) is X-Git-Tag: BEN_FIPS_TEST_6~14^2~151 X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=210a4f78ae78799f7dc8f4b115c3727eb2d24bd8 Imported from LPlib, making sure the entry name (at least on Unix) is NUL-teminated at all times, and that we don't make unneeded calls to free(). --- diff --git a/crypto/LPdir_unix.c b/crypto/LPdir_unix.c index 83686e8e78..7298a23ae6 100644 --- a/crypto/LPdir_unix.c +++ b/crypto/LPdir_unix.c @@ -1,4 +1,4 @@ -/* $LP: LPlib/source/LPdir_unix.c,v 1.6 2004/06/14 10:08:43 _cvs_levitte Exp $ */ +/* $LP: LPlib/source/LPdir_unix.c,v 1.8 2004/07/19 16:34:39 _cvs_levitte Exp $ */ /* * Copyright (c) 2004, Richard Levitte * All rights reserved. @@ -79,7 +79,8 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) return 0; } - strncpy((*ctx)->entry_name, direntry->d_name, sizeof((*ctx)->entry_name)); + strncpy((*ctx)->entry_name, direntry->d_name, sizeof((*ctx)->entry_name) - 1); + (*ctx)->entry_name[sizeof((*ctx)->entry_name) - 1] = '\0'; return (*ctx)->entry_name; } diff --git a/crypto/LPdir_win.c b/crypto/LPdir_win.c index fdd955fe38..1a2663cf1e 100644 --- a/crypto/LPdir_win.c +++ b/crypto/LPdir_win.c @@ -1,4 +1,4 @@ -/* $LP: LPlib/source/LPdir_win.c,v 1.1 2004/06/14 10:07:56 _cvs_levitte Exp $ */ +/* $LP: LPlib/source/LPdir_win.c,v 1.3 2004/07/19 16:34:54 _cvs_levitte Exp $ */ /* * Copyright (c) 2004, Richard Levitte * All rights reserved. @@ -53,7 +53,6 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) if (*ctx == NULL) { errno = ENOMEM; - free(*ctx); return 0; } memset(*ctx, '\0', sizeof(LP_DIR_CTX)); @@ -68,7 +67,6 @@ const char *LP_find_file(LP_DIR_CTX **ctx, const char *directory) { errno = ENOMEM; free(*ctx); - free(wdir); return 0; }