Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates-src > by-pkgid > bd85247d6a9d465b8286526c46b36772 > files > 1

kdiff3-1.8.1-1.1.mga7.src.rpm

From 4ad69790f5864c42fd1296b5bfe43e7e77350516 Mon Sep 17 00:00:00 2001
From: Arnaud Ruiz <arnaud.ruizsin@gmail.com>
Date: Fri, 26 Jul 2019 22:19:18 +1200
Subject: Fix for "Too many open files" bug

kdiff3 fails to close files properly leading to stability and speed issues.

Reviewers: mreeves

Reviewed By: mreeves

Differential Revision: https://phabricator.kde.org/D22294
---
 src/directorymergewindow.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/directorymergewindow.cpp b/src/directorymergewindow.cpp
index c8efd81..5d0d939 100644
--- a/src/directorymergewindow.cpp
+++ b/src/directorymergewindow.cpp
@@ -741,6 +741,7 @@ bool DirectoryMergeWindow::DirectoryMergeWindowPrivate::fastFileComparison(
 
     if(!fi2.open(QIODevice::ReadOnly))
     {
+        fi1.close();
         status = fi2.errorString();
         return bEqual;
     }
@@ -758,12 +759,16 @@ bool DirectoryMergeWindow::DirectoryMergeWindowPrivate::fastFileComparison(
         if(len != fi1.read(&buf1[0], len))
         {
             status = fi1.errorString();
+            fi1.close();
+            fi2.close();
             return bEqual;
         }
 
         if(len != fi2.read(&buf2[0], len))
         {
-            status = fi2.errorString();;
+            status = fi2.errorString();
+            fi1.close();
+            fi2.close();
             return bEqual;
         }
 
-- 
cgit v1.1
From 0737cc3e2ddf75fcd69efb385303e0cab3e2db48 Mon Sep 17 00:00:00 2001
From: Michael Reeves <reeves.87@gmail.com>
Date: Fri, 26 Jul 2019 13:19:14 -0400
Subject: Fix botched merge

BUG: 408991
---
 src/directorymergewindow.cpp | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/directorymergewindow.cpp b/src/directorymergewindow.cpp
index 5d0d939..1404c01 100644
--- a/src/directorymergewindow.cpp
+++ b/src/directorymergewindow.cpp
@@ -774,6 +774,8 @@ bool DirectoryMergeWindow::DirectoryMergeWindowPrivate::fastFileComparison(
 
         if(memcmp(&buf1[0], &buf2[0], len) != 0)
         {
+            fi1.close();
+            fi2.close();
             bError = false;
             return bEqual;
         }
@@ -785,6 +787,9 @@ bool DirectoryMergeWindow::DirectoryMergeWindowPrivate::fastFileComparison(
     // If the program really arrives here, then the files are really equal.
     bError = false;
     bEqual = true;
+
+    fi1.close();
+    fi2.close();
     return bEqual;
 }
 
-- 
cgit v1.1