Greg Kroah-Hartman
782a1b5888
BUG/MEDIUM: chunk: fix infinite loop in get_larger_trash_chunk()
...
When the input chunk is already the large buffer (chk->size ==
large_trash_size), the <= comparison still matched and returned
another large buffer of the same size. Callers that retry on a
non-NULL return value (sample.c:4567 in json_query) loop forever.
The json_query infinite loop is trivially triggered: mjson_unescape()
returns -1 not only when the output buffer is too small but also for
any \uXXYY escape where XX != "00" (mjson.c:305) and for invalid
escapes like \q. The retry loop assumes -1 always means "grow the
buffer", so a 14-byte JSON body of {"k":"\u0100"} hangs the worker
thread permanently. Send N such requests to exhaust all worker
threads.
Use < instead of <= so a chunk that is already large yields NULL.
This also fixes the json converter overflow at sample.c:2869 where
no recheck happens after the "growth" returned a same-size buffer.
Introduced in commit ce912271db4e ("MEDIUM: chunk: Add support for
large chunks"). No backport needed.
2026-04-07 14:20:38 +02:00
..
2025-10-28 11:59:32 +01:00
2026-03-30 18:24:28 +02:00
2026-04-02 18:29:26 +02:00
2026-03-12 18:06:38 +01:00
2026-03-12 18:06:38 +01:00
2026-03-23 14:02:43 +01:00
2026-04-02 14:02:05 +02:00
2026-02-18 13:26:20 +01:00
2026-03-06 13:55:31 +01:00
2026-04-03 09:17:35 +02:00
2026-04-01 16:34:37 +02:00
2026-03-18 15:30:39 +01:00
2026-04-01 14:39:28 +02:00
2026-01-20 17:17:37 +01:00
2026-01-07 09:54:31 +01:00
2026-03-30 09:24:19 +02:00
2025-12-24 11:35:09 +01:00
2026-03-23 14:02:42 +01:00
2025-11-06 15:01:29 +01:00
2026-04-01 16:34:38 +02:00
2026-04-07 14:20:38 +02:00
2026-03-30 09:24:19 +02:00
2026-03-18 11:18:33 +01:00
2026-04-05 09:26:46 +02:00
2026-04-04 02:14:50 +02:00
2026-02-24 08:17:16 +01:00
2026-03-12 18:06:37 +01:00
2026-03-23 14:02:42 +01:00
2026-03-25 18:37:06 +01:00
2026-03-06 13:55:31 +01:00
2026-03-05 15:35:21 +01:00
2026-04-03 12:10:27 +02:00
2025-11-24 14:10:13 +01:00
2026-04-03 12:10:20 +02:00
2026-03-27 11:18:40 +01:00
2026-02-26 08:24:03 +01:00
2025-11-24 14:10:13 +01:00
2026-02-19 08:20:37 +01:00
2026-03-05 15:34:46 +01:00
2026-03-17 07:48:02 +01:00
2026-02-26 17:03:53 +01:00
2026-03-19 10:40:25 +01:00
2026-04-01 16:28:49 +02:00
2026-04-03 15:09:44 +02:00
2026-04-03 15:09:44 +02:00
2026-04-07 14:18:13 +02:00
2026-04-07 13:31:39 +02:00
2026-03-05 14:33:21 +01:00
2026-03-03 16:22:57 +01:00
2026-04-03 16:25:49 +02:00
2026-03-30 09:24:19 +02:00
2026-03-23 14:02:43 +01:00
2026-02-18 13:26:21 +01:00
2026-03-30 09:24:19 +02:00
2026-03-30 09:24:19 +02:00
2026-03-12 18:06:38 +01:00
2025-10-29 08:47:19 +01:00
2026-03-30 09:24:19 +02:00
2026-03-12 18:06:38 +01:00
2026-04-07 11:17:30 +02:00
2026-03-12 09:18:42 +01:00
2026-04-07 11:11:42 +02:00
2026-02-10 07:22:54 +01:00
2025-11-20 18:38:09 +01:00
2026-04-02 14:02:05 +02:00
2026-04-01 16:28:49 +02:00
2026-03-31 12:34:33 +02:00
2026-03-17 17:08:28 +01:00
2026-03-12 18:06:38 +01:00
2026-04-03 15:12:55 +02:00
2026-03-30 16:32:21 +02:00
2026-03-10 15:10:34 +01:00
2026-04-02 16:58:00 +02:00
2026-04-02 14:02:05 +02:00
2026-03-12 18:06:38 +01:00
2026-03-19 18:01:06 +01:00
2026-02-23 16:28:41 +01:00
2026-04-02 11:29:54 +02:00
2025-12-31 00:29:47 +01:00
2026-04-07 10:50:04 +02:00
2026-03-19 07:03:10 +01:00
2026-02-26 08:24:03 +01:00
2025-11-20 16:44:03 +01:00
2026-03-12 18:06:38 +01:00
2026-03-16 16:31:58 +01:00
2026-02-12 18:02:19 +01:00
2025-12-11 18:09:47 +01:00
2025-10-23 16:47:58 +02:00
2026-04-03 12:10:27 +02:00
2026-03-23 14:02:43 +01:00
2026-04-02 14:02:04 +02:00
2026-03-20 19:40:11 +01:00
2026-02-12 02:18:59 +01:00
2025-12-01 15:05:41 +01:00
2025-12-01 15:05:41 +01:00
2025-12-01 15:05:41 +01:00
2025-12-01 15:05:41 +01:00
2025-12-01 15:05:41 +01:00
2025-12-25 19:45:29 +01:00
2025-11-25 14:50:19 +01:00
2026-03-03 16:22:57 +01:00
2026-04-02 14:02:04 +02:00
2025-10-23 16:49:20 +02:00
2026-02-03 04:05:34 +01:00
2026-02-26 08:24:03 +01:00
2026-03-12 18:06:38 +01:00
2026-04-02 14:02:04 +02:00
2026-02-26 08:24:03 +01:00
2026-03-30 09:24:19 +02:00
2026-02-26 17:03:53 +01:00
2026-03-23 14:02:42 +01:00
2026-02-12 09:09:44 +01:00
2026-04-02 14:02:04 +02:00
2025-12-08 10:40:59 +01:00
2026-04-02 14:02:04 +02:00
2026-03-30 18:24:28 +02:00
2026-03-12 18:06:38 +01:00
2026-01-13 11:12:34 +01:00
2026-04-03 16:31:18 +02:00
2026-04-02 14:02:05 +02:00
2026-02-18 09:44:15 +01:00
2026-03-02 10:44:59 +01:00
2025-12-11 18:09:47 +01:00
2025-12-11 18:09:47 +01:00
2026-03-20 16:51:47 +01:00
2026-03-11 17:00:59 +01:00
2025-12-08 10:40:59 +01:00
2026-02-16 18:41:40 +01:00
2026-03-11 17:00:59 +01:00
2026-03-31 12:18:26 +02:00
2026-04-03 10:41:00 +02:00
2026-04-03 11:00:36 +02:00
2026-03-11 17:00:59 +01:00
2026-03-11 17:00:59 +01:00
2026-03-18 11:18:33 +01:00
2026-04-01 14:39:28 +02:00
2026-02-27 10:28:24 +01:00
2026-02-27 10:28:24 +01:00
2026-03-30 16:27:53 +02:00
2026-03-30 09:24:19 +02:00
2026-03-30 16:27:53 +02:00
2026-03-23 07:29:43 +01:00
2026-03-27 07:35:25 +01:00
2026-01-11 15:48:20 +01:00
2026-04-03 16:31:17 +02:00
2026-03-02 14:09:25 +01:00
2026-03-23 21:52:56 +01:00
2026-03-13 09:13:24 +01:00
2026-02-26 08:24:03 +01:00
2026-01-21 10:44:19 +01:00
2026-03-12 18:06:38 +01:00
2026-04-02 14:02:04 +02:00
2026-03-03 16:23:03 +01:00