From 1fe62a57a292cd755a2c5e0c604d2c6298b8e156 Mon Sep 17 00:00:00 2001
From: rswindell <>
Date: Tue, 14 Apr 2020 07:08:50 +0000
Subject: [PATCH] Don't retry/loop in smb_fread(), regardless of the errno
 value, if we're at the end of the file.

---
 src/smblib/smbfile.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/smblib/smbfile.c b/src/smblib/smbfile.c
index e28bc77cff..e12fb6d336 100644
--- a/src/smblib/smbfile.c
+++ b/src/smblib/smbfile.c
@@ -98,7 +98,7 @@ size_t SMBCALL smb_fread(smb_t* smb, void* buf, size_t bytes, FILE* fp)
 	while(1) {
 		if((ret=fread(buf,sizeof(char),bytes,fp))==bytes)
 			return(ret);
-		if(get_errno()!=EDEADLOCK && get_errno()!=EACCES)
+		if(feof(fp) || (get_errno()!=EDEADLOCK && get_errno()!=EACCES))
 			return(ret);
 		if(!start)
 			start=time(NULL);
-- 
GitLab