[openssl] master update

kaduk at mit.edu kaduk at mit.edu
Sat May 8 16:34:27 UTC 2021


The branch master has been updated
       via  32b1da718d5d6f35fcef82f3794273807d6202e9 (commit)
      from  ab9d1af955ef71c0000bc27140623481a003d35c (commit)


- Log -----------------------------------------------------------------
commit 32b1da718d5d6f35fcef82f3794273807d6202e9
Author: Benjamin Kaduk <bkaduk at akamai.com>
Date:   Tue May 4 12:33:28 2021 -0700

    tasn_dec: use do/while around statement macros
    
    Use the do {} while (0) construct around macros whose bodies are complete
    statements (including one that has internal control flow!).  This is
    safer and avoids any risk of misinterpretation if the macro is used in
    an unexpected context.
    
    Reviewed-by: Paul Dale <pauli at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/15143)

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

Summary of changes:
 crypto/asn1/tasn_dec.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/crypto/asn1/tasn_dec.c b/crypto/asn1/tasn_dec.c
index 20717df461..aaf3de7e19 100644
--- a/crypto/asn1/tasn_dec.c
+++ b/crypto/asn1/tasn_dec.c
@@ -90,9 +90,9 @@ unsigned long ASN1_tag2bit(int tag)
 
 /* Macro to initialize and invalidate the cache */
 
-#define asn1_tlc_clear(c)       if ((c) != NULL) (c)->valid = 0
+#define asn1_tlc_clear(c)       do { if ((c) != NULL) (c)->valid = 0; } while (0)
 /* Version to avoid compiler warning about 'c' always non-NULL */
-#define asn1_tlc_clear_nc(c)    (c)->valid = 0
+#define asn1_tlc_clear_nc(c)    do {(c)->valid = 0; } while (0)
 
 /*
  * Decode an ASN1 item, this currently behaves just like a standard 'd2i'


More information about the openssl-commits mailing list