aboutsummaryrefslogtreecommitdiffstats
path: root/argon2
diff options
context:
space:
mode:
authorMattias Andrée <m@maandree.se>2026-05-14 19:46:14 +0200
committerMattias Andrée <m@maandree.se>2026-05-14 19:46:14 +0200
commit5660c556a06916c2f1e004f7f8d5e368b3a88e25 (patch)
tree562217dbfa5f33ee7a73f6bdfc3b67dc9245b4d9 /argon2
parentFix test bug only found with musl+clang (diff)
downloadlibrecrypt-5660c556a06916c2f1e004f7f8d5e368b3a88e25.tar.gz
librecrypt-5660c556a06916c2f1e004f7f8d5e368b3a88e25.tar.bz2
librecrypt-5660c556a06916c2f1e004f7f8d5e368b3a88e25.tar.xz
Clean up
Signed-off-by: Mattias Andrée <m@maandree.se>
Diffstat (limited to 'argon2')
-rw-r--r--argon2/hash.c4
-rw-r--r--argon2/make_settings.c21
2 files changed, 12 insertions, 13 deletions
diff --git a/argon2/hash.c b/argon2/hash.c
index 313eea0..fd4609a 100644
--- a/argon2/hash.c
+++ b/argon2/hash.c
@@ -125,7 +125,7 @@ librecrypt__argon2__hash(char *restrict out_buffer, size_t size, const char *phr
if (libar2_hash(scratch ? scratch : out_buffer, REMOVE_CONST(phrase), len, &params, &ctx))
goto fail;
if (scratch && out_buffer)
- memcpy(out_buffer, scratch, params.hashlen < size ? params.hashlen : size);
+ memcpy(out_buffer, scratch, MIN(params.hashlen, size));
/* same rationale as for `ctx.autoerase_salt = 1;` */
if (scratch) {
@@ -190,7 +190,7 @@ check(const char *phrase, const char *settings, const char *hash, size_t hashlen
for (i = 1u; i <= hashlen * 2u; i++) {
memset(buf, 0, sizeof(buf));
EXPECT(librecrypt__argon2__hash(buf, i, phrase, len, settings, prefix, NULL) == 0);
- EXPECT(!memcmp(expected, buf, i < hashlen ? i : hashlen));
+ EXPECT(!memcmp(expected, buf, MIN(i, hashlen)));
}
}
diff --git a/argon2/make_settings.c b/argon2/make_settings.c
index 9efb58f..924b33f 100644
--- a/argon2/make_settings.c
+++ b/argon2/make_settings.c
@@ -26,8 +26,8 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
memcost >>= 10;
memcost += memcost_round_up;
}
- memcost = memcost < LIBAR2_MIN_M_COST ? LIBAR2_MIN_M_COST : memcost;
- memcost = memcost > LIBAR2_MAX_M_COST ? LIBAR2_MAX_M_COST : memcost;
+ memcost = MAX(memcost, LIBAR2_MIN_M_COST);
+ memcost = MIN(memcost, LIBAR2_MAX_M_COST);
/* Adjust `timecost` for algorithm */
if (!timecost) {
@@ -36,8 +36,8 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
timecost = 40960u;
}
timecost /= memcost;
- timecost = timecost < LIBAR2_MIN_T_COST ? LIBAR2_MIN_T_COST : timecost;
- timecost = timecost > LIBAR2_MAX_T_COST ? LIBAR2_MAX_T_COST : timecost;
+ timecost = MAX(timecost, LIBAR2_MIN_T_COST);
+ timecost = MIN(timecost, LIBAR2_MAX_T_COST);
/* Get version */
p = algorithm;
@@ -57,13 +57,12 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
}
/* Write algorithm and parameters */
- r = snprintf(out_buffer, size, "%.*s$v=%s$m=%zu,t=%llu,p=1$",
- (int)algolen, algorithm, version,
- memcost, (unsigned long long int)timecost);
+ r = snprintf(out_buffer, size, "%.*s$v=%s$m=%zu,t=%ju,p=1$",
+ (int)algolen, algorithm, version, memcost, timecost);
if (r < (int)sizeof("$argon2_$v=__$m=_,t=_,p=1$") - 1)
abort(); /* $covered$ (impossible) */
ret = (size_t)r;
- min = size ? ret < size - 1u ? ret : size - 1u : 0u;
+ min = size ? MIN(ret, size - 1u) : 0u;
out_buffer = &out_buffer[min];
size -= min;
@@ -72,7 +71,7 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
/* 16 bytes is 128 bits, and 128 = 21*6+2, so that is
* 21 full base-64 characeters and 1 that only use 2 bits */
ret += len = 22u;
- min = size ? len < size - 1u ? len : size - 1u : 0u;
+ min = size ? MIN(len, size - 1u) : 0u;
if (librecrypt_fill_with_random_(out_buffer, min, rng, user))
return -1;
if (min == len)
@@ -81,7 +80,7 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
out_buffer[i] = librecrypt_common_rfc4848s4_encoding_lut_[((unsigned char *)out_buffer)[i]];
} else {
ret += len = sizeof("*16") - 1u;
- min = size ? len < size - 1u ? len : size - 1u : 0u;
+ min = size ? MIN(len, size - 1u) : 0u;
memcpy(out_buffer, "*16", min);
}
out_buffer = &out_buffer[min];
@@ -89,7 +88,7 @@ make_settings(char *out_buffer, size_t size, const char *algorithm, size_t memco
/* Add tag size (size of hash result) */
ret += len = sizeof("$*32") - 1u;
- min = size ? len < size - 1u ? len : size - 1u : 0u;
+ min = size ? MIN(len, size - 1u) : 0u;
memcpy(out_buffer, "$*32", min);
out_buffer = &out_buffer[min];
size -= min;