Commit 04623f1df5 for openssl.org

commit 04623f1df51d4ff619404093cf100d9c9a32074f
Author: Tomas Mraz <tomas@openssl.foundation>
Date:   Thu Apr 16 19:37:51 2026 +0200

    ossl_curve448_scalar_halve(): Fix -ansi build

    Move statement after declarations.
    Fixes 4247fb98def703bcc55952f17f426331cce08d09

    Reviewed-by: Frederik Wedel-Heinen <fwh.openssl@gmail.com>
    Reviewed-by: Nikola Pajkovsky <nikolap@openssl.org>
    Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
    MergeDate: Fri Apr 17 06:15:24 2026
    (Merged from https://github.com/openssl/openssl/pull/30872)

    (cherry picked from commit e812720ddca26c88d8704d55de606881ccec8ea7)

diff --git a/crypto/ec/curve448/scalar.c b/crypto/ec/curve448/scalar.c
index f70b24843f..2308de6f63 100644
--- a/crypto/ec/curve448/scalar.c
+++ b/crypto/ec/curve448/scalar.c
@@ -210,10 +210,10 @@ void ossl_curve448_scalar_encode(unsigned char ser[C448_SCALAR_BYTES],
 void ossl_curve448_scalar_halve(curve448_scalar_t out, const curve448_scalar_t a)
 {
     c448_word_t mask = 0 - (a->limb[0] & 1);
-    mask = value_barrier_c448(mask);
     c448_dword_t chain = 0;
     unsigned int i;

+    mask = value_barrier_c448(mask);
     for (i = 0; i < C448_SCALAR_LIMBS; i++) {
         chain = (chain + a->limb[i]) + (sc_p->limb[i] & mask);
         out->limb[i] = (c448_word_t)chain;