blob: 6f42c1794fcebcc64357f7fe78c3b82cf7da3433 (
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
@@ -3455,14 +3455,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)
@@ -3559,16 +3556,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) {
|