1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
--- plugins/document-manager/anjuta-docman.c.orig Sun Jul 8 03:12:10 2007
+++ plugins/document-manager/anjuta-docman.c Sun Jul 8 03:20:22 2007
@@ -902,6 +902,7 @@ anjuta_docman_goto_file_line_mark (Anjut
const gchar *linenum;
glong lineno;
gboolean is_local_uri;
+ gchar normalized_path_buf[PATH_MAX];
gchar *normalized_path = NULL;
IAnjutaEditor *te;
@@ -926,9 +927,9 @@ anjuta_docman_goto_file_line_mark (Anjut
/* Get the normalized file path for comparision */
is_local_uri = gnome_vfs_uri_is_local (vfs_uri);
if (is_local_uri)
- normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri), NULL);
+ normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri), normalized_path_buf);
if (normalized_path == NULL)
- normalized_path = g_strdup (uri);
+ (void) strlcpy (normalized_path, uri, PATH_MAX);
gnome_vfs_uri_unref (vfs_uri);
/* g_free(filename); */
@@ -942,6 +943,7 @@ anjuta_docman_goto_file_line_mark (Anjut
AnjutaDocmanPage *page;
gboolean te_is_local_uri;
gchar *te_uri;
+ char te_normalized_path_buf[PATH_MAX];
gchar *te_normalized_path = NULL;
page = (AnjutaDocmanPage *) node->data;
@@ -959,9 +961,9 @@ anjuta_docman_goto_file_line_mark (Anjut
te_is_local_uri = gnome_vfs_uri_is_local (vfs_uri);
if (te_is_local_uri)
te_normalized_path = realpath (gnome_vfs_uri_get_path (vfs_uri),
- NULL);
+ te_normalized_path_buf);
if (te_normalized_path == NULL)
- te_normalized_path = g_strdup (te_uri);
+ (void) strlcpy (te_normalized_path, te_uri, PATH_MAX);
gnome_vfs_uri_unref (vfs_uri);
if (strcmp (normalized_path, te_normalized_path) == 0)
@@ -982,12 +984,9 @@ anjuta_docman_goto_file_line_mark (Anjut
an_file_history_push (te_uri, lineno);
g_free (uri);
g_free (te_uri);
- g_free (normalized_path);
- g_free (te_normalized_path);
return te;
}
g_free (te_uri);
- g_free (te_normalized_path);
node = g_list_next (node);
}
te = anjuta_docman_add_editor (docman, uri, NULL);
@@ -1006,7 +1005,6 @@ anjuta_docman_goto_file_line_mark (Anjut
}
}
g_free (uri);
- g_free (normalized_path);
return te ;
}
|