fixed buffer overrun
[uzbl-mobile] / uzbl.c
diff --git a/uzbl.c b/uzbl.c
index d16fa20..2bc212c 100644 (file)
--- a/uzbl.c
+++ b/uzbl.c
@@ -242,7 +242,7 @@ expand(char *s, guint recurse) {
     guint etype;
     char upto = ' ';
     char *end_simple_var = "^°!\"§$%&/()=?'`'+~*'#-.:,;@<>| \\{}[]¹²³¼½";
-    char str_end[2];
+    char str_end[3];
     char ret[4096];
     char *vend = NULL;
     GError *err = NULL;
@@ -477,7 +477,6 @@ clean_up(void) {
     g_free(uzbl.state.keycmd);
     g_hash_table_destroy(uzbl.bindings);
     g_hash_table_destroy(uzbl.behave.commands);
-    g_scanner_destroy(uzbl.scan);
 }
 
 /* used for html_mode_timeout
@@ -2737,6 +2736,8 @@ main (int argc, char* argv[]) {
         retreive_geometry();
 
     gchar *uri_override = (uzbl.state.uri ? g_strdup(uzbl.state.uri) : NULL);
+    if (argc > 1 && !uzbl.state.uri)
+        uri_override = g_strdup(argv[1]);
     gboolean verbose_override = uzbl.state.verbose;
 
     settings_init ();