Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/a73f22c966e97fc3a706f...
...commit
http://git.netsurf-browser.org/netsurf.git/commit/a73f22c966e97fc3a706ff9...
...tree
http://git.netsurf-browser.org/netsurf.git/tree/a73f22c966e97fc3a706ff980...
The branch, master has been updated
via a73f22c966e97fc3a706ff9804aa2ea73a4d5428 (commit)
from 3a7fb23b878167d007df21fee25413d483ebdc79 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=a73f22c966e97fc3a70...
commit a73f22c966e97fc3a706ff9804aa2ea73a4d5428
Author: Vincent Sanders <vince(a)kyllikki.org>
Commit: Vincent Sanders <vince(a)kyllikki.org>
make gtk commandline filename loading use snprintf
diff --git a/gtk/gui.c b/gtk/gui.c
index 1c108a1..3147bf1 100644
--- a/gtk/gui.c
+++ b/gtk/gui.c
@@ -421,13 +421,15 @@ static void gui_init(int argc, char** argv, char **respath)
if (argc > 1) {
struct stat fs;
if (stat(argv[1], &fs) == 0) {
+ size_t addrlen;
char *rp = realpath(argv[1], NULL);
assert(rp != NULL);
- addr = malloc(SLEN("file://") + strlen(rp) + /*\0 */ 1);
+
+ /* calculate file url length including terminator */
+ addrlen = SLEN("file://") + strlen(rp) + 1;
+ addr = malloc(addrlen);
assert(addr != NULL);
- /* These are safe thanks to the above sum */
- strcpy(addr, "file://");
- strcat(addr, rp);
+ snprintf(addr, addrlen, "file://%s", rp);
free(rp);
} else {
addr = strdup(argv[1]);
-----------------------------------------------------------------------
Summary of changes:
gtk/gui.c | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
diff --git a/gtk/gui.c b/gtk/gui.c
index 1c108a1..3147bf1 100644
--- a/gtk/gui.c
+++ b/gtk/gui.c
@@ -421,13 +421,15 @@ static void gui_init(int argc, char** argv, char **respath)
if (argc > 1) {
struct stat fs;
if (stat(argv[1], &fs) == 0) {
+ size_t addrlen;
char *rp = realpath(argv[1], NULL);
assert(rp != NULL);
- addr = malloc(SLEN("file://") + strlen(rp) + /*\0 */ 1);
+
+ /* calculate file url length including terminator */
+ addrlen = SLEN("file://") + strlen(rp) + 1;
+ addr = malloc(addrlen);
assert(addr != NULL);
- /* These are safe thanks to the above sum */
- strcpy(addr, "file://");
- strcat(addr, rp);
+ snprintf(addr, addrlen, "file://%s", rp);
free(rp);
} else {
addr = strdup(argv[1]);
--
NetSurf Browser