diff options
author | Manuel Stoeckl <code@mstoeckl.com> | 2024-05-21 12:15:35 -0400 |
---|---|---|
committer | Simon Ser <contact@emersion.fr> | 2024-05-21 18:28:45 +0200 |
commit | 469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20 (patch) | |
tree | f16fee9e8f2fefe7abc5585b84737d20b512b2aa /main.c | |
parent | 4262e0198957d1c1523f266beb7e79dc3d27f852 (diff) | |
download | swaybg-469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20.tar.gz swaybg-469d9d4d77a91d41cda517ea0a5ecca3ffd6eb20.tar.bz2 |
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.
Diffstat (limited to 'main.c')
-rw-r--r-- | main.c | 14 |
1 files changed, 8 insertions, 6 deletions
@@ -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; + } } } |