From cdc4041942be67ee8b70206e7a1bf6f72514e532 Mon Sep 17 00:00:00 2001 From: Steve Fryatt Date: Sun, 26 Jan 2014 15:15:49 +0000 Subject: Add belt and braces to ensure that URL Bar content is always cleanly terminated. --- riscos/gui/url_bar.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/riscos/gui/url_bar.c b/riscos/gui/url_bar.c index 829419db3..f77c6e7af 100644 --- a/riscos/gui/url_bar.c +++ b/riscos/gui/url_bar.c @@ -976,11 +976,14 @@ void ro_gui_url_bar_set_url(struct url_bar *url_bar, const char *url, */ if (strlen(local_url) >= url_bar->text_size) { - strncpy(url_bar->text_buffer, "", url_bar->text_size); + strncpy(url_bar->text_buffer, "", url_bar->text_size - 1); + url_bar->text_buffer[url_bar->text_size - 1] = '\0'; warn_user("LongURL", NULL); LOG(("Long URL (%d chars): %s", strlen(url), url)); } else { - strncpy(url_bar->text_buffer, local_url, url_bar->text_size); + strncpy(url_bar->text_buffer, local_url, + url_bar->text_size - 1); + url_bar->text_buffer[url_bar->text_size - 1] = '\0'; } if (local_text != NULL) -- cgit v1.2.3