aboutsummaryrefslogtreecommitdiff
path: root/libavformat/sctp.c
diff options
context:
space:
mode:
authorMichael Niedermayer2012-12-17 01:53:35 +0100
committerMichael Niedermayer2012-12-17 01:53:35 +0100
commit2e59142fa9a0db5fab8aa2e676ba524f61280b83 (patch)
treefc5465788207ef87500c78c46561c16730f3b4a5 /libavformat/sctp.c
parentd28dfa2d425ce5e5db38924577b3d86dcee40523 (diff)
sctp: dont abort on invalid input
Fixes Ticket1865 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/sctp.c')
-rw-r--r--libavformat/sctp.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/libavformat/sctp.c b/libavformat/sctp.c
index 7fbc11fc28..2fd5400ae5 100644
--- a/libavformat/sctp.c
+++ b/libavformat/sctp.c
@@ -296,8 +296,10 @@ static int sctp_write(URLContext *h, const uint8_t *buf, int size)
/*StreamId is introduced as a 2byte code into the stream*/
struct sctp_sndrcvinfo info = { 0 };
info.sinfo_stream = AV_RB16(buf);
- if (info.sinfo_stream > s->max_streams)
- abort();
+ if (info.sinfo_stream > s->max_streams) {
+ av_log(h, AV_LOG_ERROR, "bad input data\n");
+ return AVERROR(EINVAL);
+ }
ret = ff_sctp_send(s->fd, buf + 2, size - 2, &info, MSG_EOR);
} else
ret = send(s->fd, buf, size, 0);