Always pass NUL-terminated text to command_spawn_editor()
authorLeonardo Taccari <iamleot@gmail.com>
Thu, 25 Oct 2018 11:55:21 +0000 (13:55 +0200)
committerLeonardo Taccari <iamleot@gmail.com>
Thu, 25 Oct 2018 11:55:21 +0000 (13:55 +0200)
It seems that there is no any guarantee that
webkit_web_resource_get_data_finish() return data that is
NUL-terminated.

src/normal.c

index 689bf1b..4044409 100644 (file)
@@ -760,10 +760,13 @@ static void normal_view_source_loaded(WebKitWebResource *resource,
     GAsyncResult *res, Client *c)
 {
     gsize length;
-    guchar *text = NULL;
+    guchar *data = NULL;
+    char *text = NULL;
 
-    text = webkit_web_resource_get_data_finish(resource, res, &length, NULL);
+    data = webkit_web_resource_get_data_finish(resource, res, &length, NULL);
+    text = g_strndup(data, length);
     command_spawn_editor(c, &((Arg){0, (char *)text}), NULL, NULL);
+    g_free(data);
     g_free(text);
 }