summaryrefslogtreecommitdiffstats
path: root/sub/filter_jsre.c
diff options
context:
space:
mode:
Diffstat (limited to 'sub/filter_jsre.c')
-rw-r--r--sub/filter_jsre.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/sub/filter_jsre.c b/sub/filter_jsre.c
index af4fbbeba3..fb711814e3 100644
--- a/sub/filter_jsre.c
+++ b/sub/filter_jsre.c
@@ -74,6 +74,9 @@ static bool jsre_init(struct sd_filter *ft)
if (!ft->opts->rf_enable)
return false;
+ if (!(ft->opts->jsre_items && ft->opts->jsre_items[0]))
+ return false;
+
struct priv *p = talloc_zero(ft, struct priv);
ft->priv = p;
@@ -84,7 +87,7 @@ static bool jsre_init(struct sd_filter *ft)
}
talloc_set_destructor(p, destruct_priv);
- for (int n = 0; ft->opts->jsre_items && ft->opts->jsre_items[n]; n++) {
+ for (int n = 0; ft->opts->jsre_items[n]; n++) {
char *item = ft->opts->jsre_items[n];
int err = p_regcomp(p->J, p->num_regexes, item, JS_REGEXP_I | JS_REGEXP_M);
@@ -112,7 +115,7 @@ static struct demux_packet *jsre_filter(struct sd_filter *ft,
bool drop = false;
if (ft->opts->rf_plain)
- sd_ass_to_plaintext(text, strlen(text), text);
+ sd_ass_to_plaintext(&text, text);
for (int n = 0; n < p->num_regexes; n++) {
int found, err = p_regexec(p->J, n, text, &found);