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