|
@@ -461,12 +461,12 @@ static inline int sctp_frag_point(const struct sctp_sock *sp, int pmtu)
|
|
* there is room for a param header too.
|
|
* there is room for a param header too.
|
|
*/
|
|
*/
|
|
#define sctp_walk_params(pos, chunk, member)\
|
|
#define sctp_walk_params(pos, chunk, member)\
|
|
-_sctp_walk_params((pos), (chunk), WORD_ROUND(ntohs((chunk)->chunk_hdr.length)), member)
|
|
|
|
|
|
+_sctp_walk_params((pos), (chunk), ntohs((chunk)->chunk_hdr.length), member)
|
|
|
|
|
|
#define _sctp_walk_params(pos, chunk, end, member)\
|
|
#define _sctp_walk_params(pos, chunk, end, member)\
|
|
for (pos.v = chunk->member;\
|
|
for (pos.v = chunk->member;\
|
|
pos.v <= (void *)chunk + end - sizeof(sctp_paramhdr_t) &&\
|
|
pos.v <= (void *)chunk + end - sizeof(sctp_paramhdr_t) &&\
|
|
- pos.v <= (void *)chunk + end - WORD_ROUND(ntohs(pos.p->length)) &&\
|
|
|
|
|
|
+ pos.v <= (void *)chunk + end - ntohs(pos.p->length) &&\
|
|
ntohs(pos.p->length) >= sizeof(sctp_paramhdr_t);\
|
|
ntohs(pos.p->length) >= sizeof(sctp_paramhdr_t);\
|
|
pos.v += WORD_ROUND(ntohs(pos.p->length)))
|
|
pos.v += WORD_ROUND(ntohs(pos.p->length)))
|
|
|
|
|
|
@@ -477,7 +477,7 @@ _sctp_walk_errors((err), (chunk_hdr), ntohs((chunk_hdr)->length))
|
|
for (err = (sctp_errhdr_t *)((void *)chunk_hdr + \
|
|
for (err = (sctp_errhdr_t *)((void *)chunk_hdr + \
|
|
sizeof(sctp_chunkhdr_t));\
|
|
sizeof(sctp_chunkhdr_t));\
|
|
(void *)err <= (void *)chunk_hdr + end - sizeof(sctp_errhdr_t) &&\
|
|
(void *)err <= (void *)chunk_hdr + end - sizeof(sctp_errhdr_t) &&\
|
|
- (void *)err <= (void *)chunk_hdr + end - WORD_ROUND(ntohs(err->length)) &&\
|
|
|
|
|
|
+ (void *)err <= (void *)chunk_hdr + end - ntohs(err->length) &&\
|
|
ntohs(err->length) >= sizeof(sctp_errhdr_t); \
|
|
ntohs(err->length) >= sizeof(sctp_errhdr_t); \
|
|
err = (sctp_errhdr_t *)((void *)err + WORD_ROUND(ntohs(err->length))))
|
|
err = (sctp_errhdr_t *)((void *)err + WORD_ROUND(ntohs(err->length))))
|
|
|
|
|