diff options
-rw-r--r-- | libmailutils/stream/fltstream.c | 5 | ||||
-rw-r--r-- | libproto/pop/pop3_rdlist.c | 3 | ||||
-rw-r--r-- | libproto/pop/pop3_stream.c | 1 |
3 files changed, 6 insertions, 3 deletions
diff --git a/libmailutils/stream/fltstream.c b/libmailutils/stream/fltstream.c index 706b34c37..bdb57170e 100644 --- a/libmailutils/stream/fltstream.c +++ b/libmailutils/stream/fltstream.c @@ -407,8 +407,11 @@ filter_ctl (struct _mu_stream *stream, int code, int opcode, void *ptr) ptrans[1] = NULL; } break; + default: + return ENOSYS; } - /* fall through */ + break; + default: return mu_stream_ioctl (fs->transport, code, opcode, ptr); } diff --git a/libproto/pop/pop3_rdlist.c b/libproto/pop/pop3_rdlist.c index 915d7cee2..1011edad3 100644 --- a/libproto/pop/pop3_rdlist.c +++ b/libproto/pop/pop3_rdlist.c @@ -33,7 +33,8 @@ mu_pop3_stream_to_list (mu_pop3_t pop3, mu_stream_t stream, mu_list_t list) int status; size_t n; - while (mu_stream_getline (stream, &pop3->rdbuf, &pop3->rdsize, &n) == 0 + while ((status = mu_stream_getline (stream, &pop3->rdbuf, &pop3->rdsize, &n)) + == 0 && n > 0) { char *np = strdup (pop3->rdbuf); diff --git a/libproto/pop/pop3_stream.c b/libproto/pop/pop3_stream.c index e0b927901..7ae579a90 100644 --- a/libproto/pop/pop3_stream.c +++ b/libproto/pop/pop3_stream.c @@ -74,7 +74,6 @@ mu_pop3_filter_create (mu_stream_t *pstream, mu_stream_t stream) rc = mu_filter_create (pstream, stream, "CRLFDOT", MU_FILTER_DECODE, MU_STREAM_READ); - mu_stream_unref (stream); if (rc == 0) { struct mu_pop3_stream *sp = (struct mu_pop3_stream *) stream; |