[gitg] Fixed crash in getting xds name from X property



commit 5ffae68dac8771024dd65dc98c0c1a99748395da
Author: Jesse van den Kieboom <jessevdk gnome org>
Date:   Sun Feb 21 10:47:04 2010 +0100

    Fixed crash in getting xds name from X property

 gitg/gitg-dnd.c |    9 +++++----
 1 files changed, 5 insertions(+), 4 deletions(-)
---
diff --git a/gitg/gitg-dnd.c b/gitg/gitg-dnd.c
index fd8f215..d0a18c1 100644
--- a/gitg/gitg-dnd.c
+++ b/gitg/gitg-dnd.c
@@ -788,14 +788,13 @@ revision_to_treeish (GitgRepository *repository,
 static gchar *
 get_xds_filename (GdkDragContext *context)
 {
-	gchar *ret;
-
 	if (context == NULL || context->source_window == NULL)
 	{
 		return NULL;
 	}
 
 	guint len;
+	gchar *ret = NULL;
 
 	if (gdk_property_get (context->source_window,
 	                      XDS_ATOM, TEXT_ATOM,
@@ -803,8 +802,10 @@ get_xds_filename (GdkDragContext *context)
 	                      FALSE, NULL, NULL, &len,
 	                      (unsigned char **) &ret))
 	{
-		ret[len] = '\0';
-		return ret;
+		gchar *dupped = g_strndup (ret, len);
+		g_free (ret);
+
+		return dupped;
 	}
 
 	return NULL;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]