summaryrefslogtreecommitdiff
path: root/net/rtpengine/patches/07-always-dynamically-allocate-buffer-for-kernel-mod.patch
blob: 72b7914a0a5198008a449cb36061b48eac89f73c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
--- a/kernel-module/xt_RTPENGINE.c
+++ b/kernel-module/xt_RTPENGINE.c
@@ -3457,14 +3457,11 @@ static inline ssize_t proc_control_read_
 	struct inode *inode;
 	uint32_t id;
 	struct rtpengine_table *t;
-	struct rtpengine_message msgbuf;
 	struct rtpengine_message *msg;
 	int err;
 
 	if (buflen < sizeof(*msg))
 		return -EIO;
-	if (buflen == sizeof(*msg))
-		msg = &msgbuf;
 	else { /* > */
 		msg = kmalloc(buflen, GFP_KERNEL);
 		if (!msg)
@@ -3561,16 +3558,14 @@ static inline ssize_t proc_control_read_
 			goto out;
 	}
 
-	if (msg != &msgbuf)
-		kfree(msg);
+	kfree(msg);
 
 	return buflen;
 
 err:
 	table_put(t);
 out:
-	if (msg != &msgbuf)
-		kfree(msg);
+	kfree(msg);
 	return err;
 }
 static ssize_t proc_control_write(struct file *file, const char __user *ubuf, size_t buflen, loff_t *off) {