diff --git a/packages/gscope/src/browser.c b/packages/gscope/src/browser.c index 68ff194..98f3792 100644 --- a/packages/gscope/src/browser.c +++ b/packages/gscope/src/browser.c @@ -364,7 +364,9 @@ static result_t* parse_results(search_results_t *results) while (result_ptr != results->end_ptr) { node = next_node; - node->buf = (gchar *)g_malloc(1024); + gchar *line_end = result_ptr; + while (line_end != results->end_ptr && *line_end != '\n') line_end++; + node->buf = (gchar *)g_malloc((gsize)(line_end - result_ptr) + 1); node->file_name = node->buf; curr = node->buf; first_space = TRUE;