From: Dan Carpenter Date: Tue, 7 Feb 2017 13:20:53 +0000 (+0300) Subject: mac80211: check for allocation failure in debugfs code X-Git-Tag: v4.11-rc1~124^2~149^2~7 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=b2347a322d1f6f93f1a39fe17ed08628fc959351;p=karo-tx-linux.git mac80211: check for allocation failure in debugfs code kmalloc() can fail. Also let's move the allocation out of the declaration block so it's easier to read. Fixes: 4a5eccaa9350 ("mac80211: Show pending txqlen in debugfs.") Signed-off-by: Dan Carpenter Signed-off-by: Johannes Berg --- diff --git a/net/mac80211/debugfs.c b/net/mac80211/debugfs.c index 47bea0babe78..5fae001f286c 100644 --- a/net/mac80211/debugfs.c +++ b/net/mac80211/debugfs.c @@ -249,12 +249,19 @@ static ssize_t misc_read(struct file *file, char __user *user_buf, struct ieee80211_local *local = file->private_data; /* Max len of each line is 16 characters, plus 9 for 'pending:\n' */ size_t bufsz = IEEE80211_MAX_QUEUES * 16 + 9; - char *buf = kzalloc(bufsz, GFP_KERNEL); - char *pos = buf, *end = buf + bufsz - 1; + char *buf; + char *pos, *end; ssize_t rv; int i; int ln; + buf = kzalloc(bufsz, GFP_KERNEL); + if (!buf) + return -ENOMEM; + + pos = buf; + end = buf + bufsz - 1; + pos += scnprintf(pos, end - pos, "pending:\n"); for (i = 0; i < IEEE80211_MAX_QUEUES; i++) {