From 5dcdc958812ab0f9a065863fd2678d86c850feb9 Mon Sep 17 00:00:00 2001 From: bcook <> Date: Sun, 13 Aug 2017 17:46:24 +0000 Subject: move endian/word size checks from runtime to compile time ok guenther@ --- src/lib/libcrypto/modes/ctr128.c | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'src/lib/libcrypto/modes/ctr128.c') diff --git a/src/lib/libcrypto/modes/ctr128.c b/src/lib/libcrypto/modes/ctr128.c index 7fd0223701..23979d64f1 100644 --- a/src/lib/libcrypto/modes/ctr128.c +++ b/src/lib/libcrypto/modes/ctr128.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ctr128.c,v 1.6 2015/02/10 09:46:30 miod Exp $ */ +/* $OpenBSD: ctr128.c,v 1.7 2017/08/13 17:46:24 bcook Exp $ */ /* ==================================================================== * Copyright (c) 2008 The OpenSSL Project. All rights reserved. * @@ -81,22 +81,21 @@ static void ctr128_inc(unsigned char *counter) { static void ctr128_inc_aligned(unsigned char *counter) { - size_t *data,c,n; - - if (BYTE_ORDER == LITTLE_ENDIAN) { - ctr128_inc(counter); - return; - } - +#if BYTE_ORDER == LITTLE_ENDIAN + ctr128_inc(counter); +#else + size_t *data, c, n; data = (size_t *)counter; - n = 16/sizeof(size_t); + n = 16 / sizeof(size_t); do { --n; c = data[n]; ++c; data[n] = c; - if (c) return; + if (c) + return; } while (n); +#endif } #endif -- cgit v1.2.3-55-g6feb