From 92c15238b6043c927a1f8bc8fd541086e1d5f306 Mon Sep 17 00:00:00 2001 From: "Lubomir I. Ivanov" Date: Sun, 16 Dec 2012 14:03:17 +0200 Subject: [PATCH] Make sure that the user entered nickname is never truncated If the sizes of the two char buffers in set_dc_nickname() (nickname) and remember_dc() (buffer) are at least twice the size of the allowed maximum number of characters (sizeof(gunichar) = 2) set by gtk_entry_set_max_length() for the user nickname, no truncation will accur then calling snprintf() and cleanedup_nickname() on said buffers. Signed-off-by: Lubomir I. Ivanov Signed-off-by: Dirk Hohndel --- gtk-gui.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gtk-gui.c b/gtk-gui.c index 6b3371838..5a35b3940 100644 --- a/gtk-gui.c +++ b/gtk-gui.c @@ -2043,7 +2043,7 @@ static char *cleanedup_nickname(const char *nickname, int len) void remember_dc(uint32_t deviceid, const char *nickname, gboolean change_conf) { if (!get_dc_nickname(deviceid)) { - char buffer[256]; + char buffer[160]; struct dcnicknamelist *nn_entry = malloc(sizeof(struct dcnicknamelist)); nn_entry->deviceid = deviceid; /* make sure there are no curly braces or commas in the string and that @@ -2062,7 +2062,7 @@ void remember_dc(uint32_t deviceid, const char *nickname, gboolean change_conf) void set_dc_nickname(struct dive *dive) { GtkWidget *dialog, *vbox, *entry, *frame, *label; - char nickname[68]; + char nickname[160]; const char *name; if (!dive)