diff --git a/src/scrambler-istream.c b/src/scrambler-istream.c
index 586d4c3..8fa9fe7 100644
--- a/src/scrambler-istream.c
+++ b/src/scrambler-istream.c
@@ -19,6 +19,7 @@
* along with this program. If not, see .
*/
+#include
#include
#include
@@ -138,6 +139,8 @@ scrambler_istream_read_detect(struct scrambler_istream *sstream)
result = scrambler_istream_read_parent(sstream, MAGIC_SIZE, 0);
if (result <= 0) {
+ /* Make sure we return an error here. */
+ result = -1;
goto end;
}
source = i_stream_get_data(stream->parent, &source_size);
@@ -331,6 +334,9 @@ scrambler_istream_read(struct istream_private *stream)
return scrambler_istream_read_decrypt(sstream);
case ISTREAM_MODE_PLAIN:
return scrambler_istream_read_plain(sstream);
+ case ISTREAM_MODE_DETECT:
+ /* Something went terribly wrong. */
+ assert(0);
default:
/* Should not happened in theory! */
return -1;