From ef9b081a3eed6d8ffabff07ba81cb696c4ed4685 Mon Sep 17 00:00:00 2001 From: Michael Stapelberg Date: Tue, 18 Nov 2014 08:27:53 +0100 Subject: [PATCH] Bugfix: check if values are non-NULL before copying (Thanks xeen) fixes #1397 --- src/bindings.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/bindings.c b/src/bindings.c index 0bda6019..70d274a7 100644 --- a/src/bindings.c +++ b/src/bindings.c @@ -386,10 +386,14 @@ void check_for_duplicate_bindings(struct context *context) { static Binding *binding_copy(Binding *bind) { Binding *ret = smalloc(sizeof(Binding)); *ret = *bind; - ret->symbol = strdup(bind->symbol); - ret->command = strdup(bind->command); - ret->translated_to = smalloc(sizeof(xcb_keycode_t) * bind->number_keycodes); - memcpy(ret->translated_to, bind->translated_to, sizeof(xcb_keycode_t) * bind->number_keycodes); + if (bind->symbol != NULL) + ret->symbol = strdup(bind->symbol); + if (bind->command != NULL) + ret->command = strdup(bind->command); + if (bind->translated_to != NULL) { + ret->translated_to = smalloc(sizeof(xcb_keycode_t) * bind->number_keycodes); + memcpy(ret->translated_to, bind->translated_to, sizeof(xcb_keycode_t) * bind->number_keycodes); + } return ret; } -- 2.39.5