From 799f69458799af8cbf2db497d7e405b21c3fb57b Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 19 Dec 2019 17:37:18 +0100 Subject: [PATCH] Fix segfault when FB_ID isn't set MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This would previously result in a crash: ==169727==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000028 (pc 0x7f3e0c4d7dc7 bp 0x7ffc97f8aff0 sp 0x7ffc97f8afc0 T0) ==169727==The signal is caused by a READ memory access. ==169727==Hint: address points to the zero page. #0 0x7f3e0c4d7dc6 in layer_update_priority ../subprojects/libliftoff/layer.c:152 #1 0x7f3e0c4d3a4c in update_layers_priority ../subprojects/libliftoff/alloc.c:573 #2 0x7f3e0c4d3d7f in liftoff_output_apply ../subprojects/libliftoff/alloc.c:590 … --- layer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/layer.c b/layer.c index c6fcfa7..e3d6bbc 100644 --- a/layer.c +++ b/layer.c @@ -149,7 +149,7 @@ void layer_update_priority(struct liftoff_layer *layer, bool make_current) { /* TODO: also bump priority when updating other * properties */ prop = layer_get_property(layer, "FB_ID"); - if (prop->changed) { + if (prop != NULL && prop->changed) { layer->pending_priority++; }