Commit c764c9ad authored by Akinobu Mita's avatar Akinobu Mita Committed by David S. Miller

[NETFILTER]: nf_conntrack_amanda: fix textsearch_prepare() error check

The return value from textsearch_prepare() needs to be checked
by IS_ERR(). Because it returns error code as a pointer.

Cc: "Brian J. Murrell" <netfilter@interlinx.bc.ca>
Signed-off-by: default avatarAkinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarPatrick McHardy <kaber@trash.net>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 4c1b52bc
...@@ -208,13 +208,14 @@ static int __init nf_conntrack_amanda_init(void) ...@@ -208,13 +208,14 @@ static int __init nf_conntrack_amanda_init(void)
{ {
int ret, i; int ret, i;
ret = -ENOMEM;
for (i = 0; i < ARRAY_SIZE(search); i++) { for (i = 0; i < ARRAY_SIZE(search); i++) {
search[i].ts = textsearch_prepare(ts_algo, search[i].string, search[i].ts = textsearch_prepare(ts_algo, search[i].string,
search[i].len, search[i].len,
GFP_KERNEL, TS_AUTOLOAD); GFP_KERNEL, TS_AUTOLOAD);
if (search[i].ts == NULL) if (IS_ERR(search[i].ts)) {
ret = PTR_ERR(search[i].ts);
goto err1; goto err1;
}
} }
ret = nf_conntrack_helper_register(&amanda_helper[0]); ret = nf_conntrack_helper_register(&amanda_helper[0]);
if (ret < 0) if (ret < 0)
...@@ -227,10 +228,9 @@ static int __init nf_conntrack_amanda_init(void) ...@@ -227,10 +228,9 @@ static int __init nf_conntrack_amanda_init(void)
err2: err2:
nf_conntrack_helper_unregister(&amanda_helper[0]); nf_conntrack_helper_unregister(&amanda_helper[0]);
err1: err1:
for (; i >= 0; i--) { while (--i >= 0)
if (search[i].ts) textsearch_destroy(search[i].ts);
textsearch_destroy(search[i].ts);
}
return ret; return ret;
} }
......
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