From 469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20 Mon Sep 17 00:00:00 2001 From: Manuel Stoeckl Date: Tue, 21 May 2024 12:15:35 -0400 Subject: Fix crash when new output added Calling get_buffer_size on a newly created swaybg_output, before a config is assigned to a swaybg_output, is unnecessary and yields a null pointer dereference. --- main.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) (limited to 'main.c') diff --git a/main.c b/main.c index fc6725e..1f51cf4 100644 --- a/main.c +++ b/main.c @@ -653,12 +653,14 @@ int main(int argc, char **argv) { output->configure_serial); } - uint32_t buffer_width, buffer_height; - get_buffer_size(output, &buffer_width, &buffer_height); - bool buffer_change = output->buffer_width != buffer_width || - output->buffer_height != buffer_height; - if (output->dirty && output->config->image && buffer_change) { - output->config->image->load_required = true; + if (output->dirty) { + uint32_t buffer_width, buffer_height; + get_buffer_size(output, &buffer_width, &buffer_height); + bool buffer_change = output->buffer_width != buffer_width || + output->buffer_height != buffer_height; + if (output->config->image && buffer_change) { + output->config->image->load_required = true; + } } } -- cgit v1.2.3