summaryrefslogtreecommitdiff
path: root/debian/patches/0001-ftpfs-fix-error-handling-in-refresh_dir.patch
blob: 086f5c3a7defac969219a750fffca5263b856eef (plain)
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
From 94e684b35dd5455e1cb4ac5e5f2aab2df0ebb2db Mon Sep 17 00:00:00 2001
From: Justus Winter <4winter@informatik.uni-hamburg.de>
Date: Wed, 20 Nov 2013 11:58:41 +0100
Subject: [PATCH 1/5] ftpfs: fix error handling in refresh_dir

Found using the Clang Static Analyzer.

* ftpfs/dir.c (refresh_dir): Fix error handling.
---
 ftpfs/dir.c | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/ftpfs/dir.c b/ftpfs/dir.c
index da5ddbe..a9fea22 100644
--- a/ftpfs/dir.c
+++ b/ftpfs/dir.c
@@ -384,14 +384,18 @@ refresh_dir (struct ftpfs_dir *dir, int update_stats, time_t timestamp,
   if (! err)
     err = update_ordered_name ("..", &dfs);
 
-  /* Refetch the directory from the server.  */
-  if (update_stats)
-    /* Fetch both names and stat info.  */
-    err = ftp_conn_get_stats (conn, dir->rmt_path, 1,
-			      update_ordered_entry, &dfs);
-  else
-    /* Just fetch names.  */
-    err = ftp_conn_get_names (conn, dir->rmt_path, update_ordered_name, &dfs);
+  if (! err)
+    {
+      /* Refetch the directory from the server.  */
+      if (update_stats)
+	/* Fetch both names and stat info.  */
+	err = ftp_conn_get_stats (conn, dir->rmt_path, 1,
+				  update_ordered_entry, &dfs);
+      else
+	/* Just fetch names.  */
+	err = ftp_conn_get_names (conn, dir->rmt_path,
+				  update_ordered_name, &dfs);
+    }
 
   if (! err)
     /* GC any directory entries that weren't seen this time.  */
-- 
2.0.0