diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2013-03-08 15:43:26 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2013-03-08 18:05:33 -0500 |
commit | e1082f45f1e2bbf6e25f6b614fc6616ebf709d19 (patch) | |
tree | f9d3e4326eed088acfe4cd1e9a8caf9c2138da55 /ipc/msgutil.c | |
parent | 47b3bc907328db968bc9b43c41f48f8d1e140750 (diff) |
ipc: fix potential oops when src msg > 4k w/ MSG_COPY
If the src msg is > 4k, then dest->next points to the
next allocated segment; resetting it just prior to dereferencing
is bad.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Acked-by: Stanislav Kinsbursky <skinsbursky@parallels.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'ipc/msgutil.c')
-rw-r--r-- | ipc/msgutil.c | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/ipc/msgutil.c b/ipc/msgutil.c index ebfcbfa8b7f2..5df8e4bf1db0 100644 --- a/ipc/msgutil.c +++ b/ipc/msgutil.c | |||
@@ -117,9 +117,6 @@ struct msg_msg *copy_msg(struct msg_msg *src, struct msg_msg *dst) | |||
117 | if (alen > DATALEN_MSG) | 117 | if (alen > DATALEN_MSG) |
118 | alen = DATALEN_MSG; | 118 | alen = DATALEN_MSG; |
119 | 119 | ||
120 | dst->next = NULL; | ||
121 | dst->security = NULL; | ||
122 | |||
123 | memcpy(dst + 1, src + 1, alen); | 120 | memcpy(dst + 1, src + 1, alen); |
124 | 121 | ||
125 | len -= alen; | 122 | len -= alen; |