[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: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Akinobu Mita 2007-06-05 12:56:53 -07:00 committed by David S. Miller
parent 4c1b52bc7a
commit c764c9ade6

View file

@ -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)
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;
} }