The branch master has been updated
       via  79cda38cff834224fb9d86dc7433b4f60688ce49 (commit)
      from  bb2fb5d7cc6c4abc888c3fd6df4366b6dfde25a6 (commit)


- Log -----------------------------------------------------------------
commit 79cda38cff834224fb9d86dc7433b4f60688ce49
Author: Jiasheng Jiang <[email protected]>
Date:   Thu Feb 10 11:21:47 2022 +0800

    openssl rehash: add check for OPENSSL_strdup
    
    As the potential failure of the memory allocation,
    it should be better to check the return value of
    OPENSSL_strdup() and return error if fails.
    Also, we need to restore the 'ep' to be NULL if fails.
    
    Signed-off-by: Jiasheng Jiang <[email protected]>
    
    Reviewed-by: Paul Dale <[email protected]>
    Reviewed-by: Tomas Mraz <[email protected]>
    (Merged from https://github.com/openssl/openssl/pull/17676)

-----------------------------------------------------------------------

Summary of changes:
 apps/rehash.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/apps/rehash.c b/apps/rehash.c
index e0cdc9bc62..e0b7954607 100644
--- a/apps/rehash.c
+++ b/apps/rehash.c
@@ -168,6 +168,12 @@ static int add_entry(enum Type type, unsigned int hash, 
const char *filename,
         *ep = nilhentry;
         ep->old_id = ~0;
         ep->filename = OPENSSL_strdup(filename);
+        if (ep->filename == NULL) {
+            OPENSSL_free(ep);
+            ep = NULL;
+            BIO_printf(bio_err, "out of memory\n");
+            return 1;
+        }
         if (bp->last_entry)
             bp->last_entry->next = ep;
         if (bp->first_entry == NULL)

Reply via email to