From: Michael Stapelberg Date: Tue, 18 Nov 2014 07:27:53 +0000 (+0100) Subject: Bugfix: check if values are non-NULL before copying (Thanks xeen) X-Git-Tag: 4.9~35 X-Git-Url: https://git.sur5r.net/?p=i3%2Fi3;a=commitdiff_plain;h=ef9b081a3eed6d8ffabff07ba81cb696c4ed4685 Bugfix: check if values are non-NULL before copying (Thanks xeen) fixes #1397 --- 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; }