projects
/
platform
/
kernel
/
swap-modules.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4ba518a
)
[FIX] check message length
author
Vyacheslav Cherkashin
<v.cherkashin@samsung.com>
Tue, 17 Dec 2013 08:21:45 +0000
(12:21 +0400)
committer
Nikita Kalyazin
<n.kalyazin@samsung.com>
Tue, 7 Jan 2014 05:35:26 +0000
(21:35 -0800)
Change-Id: I8c68b90746bf0eaa8c5966825422408f0490fc59
Signed-off-by: Vyacheslav Cherkashin <v.cherkashin@samsung.com>
parser/swap_msg_parser.c
patch
|
blob
|
history
diff --git
a/parser/swap_msg_parser.c
b/parser/swap_msg_parser.c
index
23127fa
..
e374bf6
100644
(file)
--- a/
parser/swap_msg_parser.c
+++ b/
parser/swap_msg_parser.c
@@
-56,12
+56,18
@@
static int msg_handler(void __user *msg)
struct msg_buf mb;
void __user *payload;
struct basic_msg_fmt bmf;
+ enum { size_max = 128 * 1024 * 1024 };
ret = copy_from_user(&bmf, (void*)msg, sizeof(bmf));
if (ret)
return ret;
size = bmf.len;
+ if (size >= size_max) {
+ printk("%s: too large message, size=%u\n", __func__, size);
+ return -ENOMEM;
+ }
+
ret = init_mb(&mb, size);
if (ret)
return ret;