summaryrefslogtreecommitdiffstats
path: root/runtime/nsd_gtls.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-06-24 18:27:52 +0200
committerRainer Gerhards <rgerhards@adiscon.com>2008-06-24 18:27:52 +0200
commit75063e54b2a95416c0fd32b2ae1df9b8db776b5c (patch)
treecd4b0105a50585619be814a197c69723de3a9fa7 /runtime/nsd_gtls.c
parentdd3e2cae9d3df243ed68c0bed1523a3b891eb893 (diff)
downloadrsyslog-75063e54b2a95416c0fd32b2ae1df9b8db776b5c.tar.gz
rsyslog-75063e54b2a95416c0fd32b2ae1df9b8db776b5c.tar.xz
rsyslog-75063e54b2a95416c0fd32b2ae1df9b8db776b5c.zip
bugfix: gtls und ptcp netstream driver communicated invalid iRet
This was introduced due to recent interface change.
Diffstat (limited to 'runtime/nsd_gtls.c')
-rw-r--r--runtime/nsd_gtls.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/runtime/nsd_gtls.c b/runtime/nsd_gtls.c
index 2bb8f3d9..8e95eca8 100644
--- a/runtime/nsd_gtls.c
+++ b/runtime/nsd_gtls.c
@@ -1457,11 +1457,13 @@ Rcv(nsd_t *pNsd, uchar *pBuf, ssize_t *pLenBuf)
/* now check if we have something in our buffer. If so, we satisfy
* the request from buffer contents.
*/
+ if(pThis->lenRcvBuf == -1) { /* no data present, must read */
+ CHKiRet(gtlsRecordRecv(pThis));
+ }
+
if(pThis->lenRcvBuf == 0) { /* EOS */
*pLenBuf = 0;
- FINALIZE;
- } else if(pThis->lenRcvBuf == -1) { /* no data present, must read */
- CHKiRet(gtlsRecordRecv(pThis));
+ ABORT_FINALIZE(RS_RET_CLOSED);
}
/* if we reach this point, data is present in the buffer and must be copied */