]> git.ipfire.org Git - thirdparty/git.git/commitdiff
reftable/writer: improve error when passed an invalid block size
authorPatrick Steinhardt <ps@pks.im>
Mon, 13 May 2024 08:18:09 +0000 (10:18 +0200)
committerJunio C Hamano <gitster@pobox.com>
Tue, 14 May 2024 00:02:38 +0000 (17:02 -0700)
The reftable format only supports block sizes up to 16MB. When the
writer is being passed a value bigger than that it simply calls
abort(3P), which isn't all that helpful due to the lack of a proper
error message.

Improve this by calling `BUG()` instead.

Signed-off-by: Patrick Steinhardt <ps@pks.im>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
reftable/writer.c

index a043025b01e4421b3652f7a9c69a70bda7631f9e..45b3e9ce1f2e994625ada9efc8f461060706e6f2 100644 (file)
@@ -128,10 +128,8 @@ reftable_new_writer(ssize_t (*writer_func)(void *, const void *, size_t),
        if (_opts)
                opts = *_opts;
        options_set_defaults(&opts);
-       if (opts.block_size >= (1 << 24)) {
-               /* TODO - error return? */
-               abort();
-       }
+       if (opts.block_size >= (1 << 24))
+               BUG("configured block size exceeds 16MB");
 
        strbuf_init(&wp->block_writer_data.last_key, 0);
        strbuf_init(&wp->last_key, 0);