Bug#1109142: unblock: libsoup3/3.6.5-2 (2/2)
From
Simon McVittie@21:1/5 to
Simon McVittie on Sat Jul 12 16:20:02 2025
[continued from previous message]
diff -Nru libsoup3-3.6.5/tests/server-mem-limit-test.c libsoup3-3.6.5/tests/server-mem-limit-test.c
--- libsoup3-3.6.5/tests/server-mem-limit-test.c 1970-01-01 01:00:00.000000000 +0100
+++ libsoup3-3.6.5/tests/server-mem-limit-test.c 2025-07-12 12:28:16.000000000 +0100
@@ -0,0 +1,149 @@
+/* -*- Mode: C; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 8 -*- */ +/*
+ * Copyright (C) 2025 Red Hat <www.redhat.com>
+ */
+
+#include "test-utils.h"
+
+#include <sys/resource.h>
+
+/*
+ This test limits memory usage to trigger too large buffer allocation crash.
+ As restoring the limits back to what it was does not always work, it's split + out of the server-test.c test with copied minimal server code.
+ */
+
+typedef struct {
+ SoupServer *server;
+ GUri *base_uri, *ssl_base_uri;
+ GSList *handlers;
+} ServerData;
+
+static void
+server_setup_nohandler (ServerData *sd, gconstpointer test_data)
+{
+ sd->server = soup_test_server_new (SOUP_TEST_SERVER_IN_THREAD);
+ sd->base_uri = soup_test_server_get_uri (sd->server, "http", NULL);
+ if (tls_available)
+ sd->ssl_base_uri = soup_tes