提交 d721a175 编写于 作者: T Tilman Schmidt 提交者: David S. Miller

isdn/gigaset: fix zero size border case in debug dump

If subtracting 12 from l leaves zero we'd do a zero size allocation,
leading to an oops later when we try to set the NUL terminator.
Reported-by: NDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: NTilman Schmidt <tilman@imap.cc>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 2f62d5aa
...@@ -248,6 +248,8 @@ static inline void dump_rawmsg(enum debuglevel level, const char *tag, ...@@ -248,6 +248,8 @@ static inline void dump_rawmsg(enum debuglevel level, const char *tag,
CAPIMSG_APPID(data), CAPIMSG_MSGID(data), l, CAPIMSG_APPID(data), CAPIMSG_MSGID(data), l,
CAPIMSG_CONTROL(data)); CAPIMSG_CONTROL(data));
l -= 12; l -= 12;
if (l <= 0)
return;
dbgline = kmalloc(3 * l, GFP_ATOMIC); dbgline = kmalloc(3 * l, GFP_ATOMIC);
if (!dbgline) if (!dbgline)
return; return;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册