Commit dffd22ae authored by Jann Horn's avatar Jann Horn Committed by Pablo Neira Ayuso

netfilter: nf_log: fix uninit read in nf_log_proc_dostring

When proc_dostring() is called with a non-zero offset in strict mode, it
doesn't just write to the ->data buffer, it also reads. Make sure it
doesn't read uninitialized data.

Fixes: c6ac37d8 ("netfilter: nf_log: fix error on write NONE to [...]")
Signed-off-by: default avatarJann Horn <jannh@google.com>
Signed-off-by: default avatarPablo Neira Ayuso <pablo@netfilter.org>
parent ad9852af
...@@ -424,6 +424,10 @@ static int nf_log_proc_dostring(struct ctl_table *table, int write, ...@@ -424,6 +424,10 @@ static int nf_log_proc_dostring(struct ctl_table *table, int write,
if (write) { if (write) {
struct ctl_table tmp = *table; struct ctl_table tmp = *table;
/* proc_dostring() can append to existing strings, so we need to
* initialize it as an empty string.
*/
buf[0] = '\0';
tmp.data = buf; tmp.data = buf;
r = proc_dostring(&tmp, write, buffer, lenp, ppos); r = proc_dostring(&tmp, write, buffer, lenp, ppos);
if (r) if (r)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment