summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Fryatt <stevef@netsurf-browser.org>2014-01-26 15:15:49 +0000
committerSteve Fryatt <stevef@netsurf-browser.org>2014-01-26 15:15:49 +0000
commitcdc4041942be67ee8b70206e7a1bf6f72514e532 (patch)
treeea6200b4a400e307804535accabb6f9b667dcf34
parentdef97156d3c0cbeacf2996859f16f727d44eb4e8 (diff)
downloadnetsurf-cdc4041942be67ee8b70206e7a1bf6f72514e532.tar.gz
netsurf-cdc4041942be67ee8b70206e7a1bf6f72514e532.tar.bz2
Add belt and braces to ensure that URL Bar content is always cleanly terminated.
-rw-r--r--riscos/gui/url_bar.c7
1 files 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)