diff options
author | Wei Yongjun <yjwei@cn.fujitsu.com> | 2007-08-06 01:55:47 -0400 |
---|---|---|
committer | Vlad Yasevich <vladislav.yasevich@hp.com> | 2007-08-30 11:56:17 -0400 |
commit | 8d614ade511fef11f992d6a73e538d33b3b81f12 (patch) | |
tree | d003f0eaeae83af128991a9d3d5e0da76df5eda0 /net/sctp/sm_make_chunk.c | |
parent | ab3e5e7b65dde661f5eb86b445496c5967283333 (diff) |
SCTP: Fix sctp_addto_chunk() to add pad with correct length
At function sctp_addto_chunk(), it do pad before add payload to chunk if
chunk length is not 4-byte alignment. But it do pad with a bad length.
This patch fixed this probleam.
Signed-off-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Diffstat (limited to 'net/sctp/sm_make_chunk.c')
-rw-r--r-- | 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 2b1129a7a94a..93df833f34f4 100644 --- a/net/sctp/sm_make_chunk.c +++ b/net/sctp/sm_make_chunk.c | |||
@@ -1128,7 +1128,7 @@ void *sctp_addto_chunk(struct sctp_chunk *chunk, int len, const void *data) | |||
1128 | void *target; | 1128 | void *target; |
1129 | void *padding; | 1129 | void *padding; |
1130 | int chunklen = ntohs(chunk->chunk_hdr->length); | 1130 | int chunklen = ntohs(chunk->chunk_hdr->length); |
1131 | int padlen = chunklen % 4; | 1131 | int padlen = WORD_ROUND(chunklen) - chunklen; |
1132 | 1132 | ||
1133 | padding = skb_put(chunk->skb, padlen); | 1133 | padding = skb_put(chunk->skb, padlen); |
1134 | target = skb_put(chunk->skb, len); | 1134 | target = skb_put(chunk->skb, len); |