mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-04-20 01:26:38 +02:00
26 lines
1,004 B
Diff
26 lines
1,004 B
Diff
From c93823faef044150e1b232928d225ff5ff297e6c Mon Sep 17 00:00:00 2001
|
|
From: Simon Arlott <sa.me.uk>
|
|
Date: Sat, 30 Sep 2023 12:18:51 +0100
|
|
Subject: [PATCH] Fix integer underflow
|
|
|
|
---
|
|
src/libspf2/spf_compile.c | 6 +++++-
|
|
1 file changed, 5 insertions(+), 1 deletion(-)
|
|
|
|
diff --git a/src/libspf2/spf_compile.c b/src/libspf2/spf_compile.c
|
|
index b08ffe2..d401028 100644
|
|
--- a/src/libspf2/spf_compile.c
|
|
+++ b/src/libspf2/spf_compile.c
|
|
@@ -455,7 +455,11 @@ SPF_c_parse_var(SPF_response_t *spf_response, SPF_data_var_t *data,
|
|
/* Magic numbers for x/Nc in gdb. */ \
|
|
data->ds.__unused0 = 0xba; data->ds.__unused1 = 0xbe; \
|
|
dst = SPF_data_str( data ); \
|
|
- ds_avail = _avail - sizeof(SPF_data_t); \
|
|
+ if ((_avail) < sizeof(SPF_data_t)) \
|
|
+ return SPF_response_add_error_ptr(spf_response, \
|
|
+ SPF_E_BIG_STRING, NULL, src, \
|
|
+ "Out of memory for string literal");\
|
|
+ ds_avail = (_avail) - sizeof(SPF_data_t); \
|
|
ds_len = 0; \
|
|
} while(0)
|
|
|