diff --git a/libavformat/iss.c b/libavformat/iss.c
index c722f62d2bf79562f80474bc22155628a65695b8..0d24c96ce3b5be421394ad23a17863d617416775 100644
--- a/libavformat/iss.c
+++ b/libavformat/iss.c
@@ -112,8 +112,8 @@ static int iss_read_packet(AVFormatContext *s, AVPacket *pkt)
     IssDemuxContext *iss = s->priv_data;
     int ret = av_get_packet(s->pb, pkt, iss->packet_size);
 
-    if(ret < 0)
-        return ret;
+    if(ret != iss->packet_size)
+        return AVERROR(EIO);
 
     pkt->stream_index = 0;
     pkt->pts = url_ftell(s->pb) - iss->sample_start_pos;