31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
From 592db079bc2dfea75708751ed0b7533ac9fd36df Mon Sep 17 00:00:00 2001
|
|
From: Milan Crha <mcrha@redhat.com>
|
|
Date: Thu, 15 May 2025 17:49:11 +0200
|
|
Subject: [PATCH] soup-multipart: Verify boundary limits for multipart body
|
|
|
|
It could happen that the boundary started at a place which resulted into
|
|
a negative number, which in an unsigned integer is a very large value.
|
|
Check the body size is not a negative value before setting it.
|
|
|
|
Closes https://gitlab.gnome.org/GNOME/libsoup/-/issues/449
|
|
---
|
|
libsoup/soup-multipart.c | 2 +-
|
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
|
|
diff --git a/libsoup/soup-multipart.c b/libsoup/soup-multipart.c
|
|
index dd939739..ce2fc109 100644
|
|
--- a/libsoup/soup-multipart.c
|
|
+++ b/libsoup/soup-multipart.c
|
|
@@ -214,7 +214,7 @@ soup_multipart_new_from_message (SoupMessageHeaders *headers,
|
|
*/
|
|
part_body = soup_buffer_new_subbuffer (flattened,
|
|
split - flattened->data,
|
|
- end - 2 - split);
|
|
+ end - 2 >= split ? end - 2 - split : 0);
|
|
g_ptr_array_add (multipart->bodies, part_body);
|
|
|
|
start = end;
|
|
--
|
|
2.49.0
|
|
|