]> Pileus Git - ~andy/gtk/commitdiff
broadway: terminate v7 input to avoid parsing uninit memory.
authorMichael Meeks <michael.meeks@suse.com>
Tue, 31 Jan 2012 10:36:54 +0000 (10:36 +0000)
committerMichael Meeks <michael.meeks@suse.com>
Tue, 31 Jan 2012 10:39:01 +0000 (10:39 +0000)
gdk/broadway/gdkdisplay-broadway.c

index 861560ef48fb80a3c53d5d3290cfd61e3f91e781..9e2e7a6e7fe40b1d8e4bc7c272cae7304aeab472 100644 (file)
@@ -422,7 +422,11 @@ parse_input (BroadwayInput *input)
 #endif
              }
            else
-             parse_input_message (input, (char *)data);
+             {
+               char *terminated = g_strndup((char *)data, payload_len);
+               parse_input_message (input, terminated);
+               g_free (terminated);
+             }
            break;
          case BROADWAY_WS_CNX_PING:
            broadway_output_pong (broadway_display->output);
@@ -1012,7 +1016,7 @@ got_http_request_line (GInputStream *stream,
       /* Protect against overflow in request length */
       if (request->request->len > 1024 * 5)
        {
-         send_error (request, 400, "Request to long");
+         send_error (request, 400, "Request too long");
        }
       else
        {