diff options
Diffstat (limited to 'source/libsmb/clientgen.c')
-rw-r--r-- | source/libsmb/clientgen.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/libsmb/clientgen.c b/source/libsmb/clientgen.c index ca78ad8dde5..25510da43ce 100644 --- a/source/libsmb/clientgen.c +++ b/source/libsmb/clientgen.c @@ -43,7 +43,7 @@ BOOL cli_receive_smb(struct cli_state *cli) if (cli->fd == -1) return False; again: - ret = client_receive_smb(cli->fd,cli->inbuf,cli->timeout); + ret = client_receive_smb(cli->fd,cli->inbuf,abs(cli->timeout)); if (ret) { /* it might be an oplock break request */ @@ -64,7 +64,7 @@ BOOL cli_receive_smb(struct cli_state *cli) /* If the server is not responding, note that now */ - if (!ret) { + if (!ret && cli->timeout > 0) { close(cli->fd); cli->fd = -1; } |