Gitweb: http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb243a1a9fef4aaff262a5dd14f987070d37229b Commit: cb243a1a9fef4aaff262a5dd14f987070d37229b Parent: 609ee4679b8a0831257552dd2b0e54f509ba0c77 Author: Wei Yongjun <[EMAIL PROTECTED]> AuthorDate: Mon Aug 6 13:55:58 2007 +0800 Committer: Vlad Yasevich <[EMAIL PROTECTED]> CommitDate: Thu Aug 30 16:44:27 2007 -0400
SCTP: Fix to handle invalid parameter length correctly If an INIT with invalid parameter length look like this: Parameter Type : 1 Parameter Length: 800 and not contain any payload, SCTP will ignore this parameter and send back a INIT-ACK. This patch is fix to handle this invalid parameter length correctly. Signed-off-by: Wei Yongjun <[EMAIL PROTECTED]> Signed-off-by: Vlad Yasevich <[EMAIL PROTECTED]> --- net/sctp/sm_make_chunk.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/net/sctp/sm_make_chunk.c b/net/sctp/sm_make_chunk.c index adc5e59..79856c9 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c @@ -1833,7 +1833,7 @@ int sctp_verify_init(const struct sctp_association *asoc, * VIOLATION error. We build the ERROR chunk here and let the normal * error handling code build and send the packet. */ - if (param.v < (void*)chunk->chunk_end - sizeof(sctp_paramhdr_t)) { + if (param.v != (void*)chunk->chunk_end) { sctp_process_inv_paramlength(asoc, param.p, chunk, errp); return 0; } - To unsubscribe from this list: send the line "unsubscribe git-commits-head" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html