Sophie

Sophie

distrib > * > 2008.0 > x86_64 > by-pkgid > c40ada2415b75c4aaabc9a097388ddcb > files > 30

mc-4.6.1-17mdv2008.0.src.rpm

--- mc-4.6.1/src/util.c.symcrash	2005-09-13 12:41:54.000000000 +0200
+++ mc-4.6.1/src/util.c	2005-09-13 12:41:54.000000000 +0200
@@ -1406,21 +1406,23 @@
  * as needed up in first and then goes down using second */
 char *diff_two_paths (const char *first, const char *second) 
 {
-    char *p, *q, *r, *s, *buf = 0;
+    char *p, *q, *r, *s, *buf = NULL;
     int i, j, prevlen = -1, currlen;
     char *my_first = NULL, *my_second = NULL;
     
     my_first = resolve_symlinks (first);
     if (my_first == NULL)
         return NULL;
+    my_second= resolve_symlinks (second);
+    if (my_second == NULL) {
+	g_free (my_first);
+	return NULL;
+    }
     for (j = 0; j < 2; j++) {
 	p = my_first;
 	if (j) {
-	    my_second = resolve_symlinks (second);
-	    if (my_second == NULL) {
-		g_free (my_first);
+	    if (my_second == NULL)
 	        return buf;
-	    }
 	}
 	q = my_second;
 	for (;;) {
--- mc-4.6.1/src/file.c.symcrash	2005-09-13 12:41:54.000000000 +0200
+++ mc-4.6.1/src/file.c	2005-09-13 12:51:44.000000000 +0200
@@ -389,7 +389,7 @@
 	const char *r = strrchr (src_path, PATH_SEP);
 
 	if (r) {
-	    p = g_strndup (src_path, r - src_path);
+	    p = g_strndup (src_path, r - src_path + 1);
 	    if (*dst_path == PATH_SEP)
 		q = g_strdup (dst_path);
 	    else