aboutsummaryrefslogtreecommitdiff
path: root/common/env_attr.c
diff options
context:
space:
mode:
Diffstat (limited to 'common/env_attr.c')
-rw-r--r--common/env_attr.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/common/env_attr.c b/common/env_attr.c
index 5bfe5e3a89..f965b4bbb6 100644
--- a/common/env_attr.c
+++ b/common/env_attr.c
@@ -132,6 +132,10 @@ static int regex_callback(const char *name, const char *attributes, void *priv)
if (slre_match(&slre, cbp->searched_for,
strlen(cbp->searched_for), caps)) {
free(cbp->regex);
+ if (!attributes) {
+ retval = -EINVAL;
+ goto done;
+ }
cbp->regex = malloc(strlen(regex) + 1);
if (cbp->regex) {
strcpy(cbp->regex, regex);
@@ -153,7 +157,7 @@ static int regex_callback(const char *name, const char *attributes, void *priv)
}
} else {
printf("Error compiling regex: %s\n", slre.err_str);
- retval = EINVAL;
+ retval = -EINVAL;
}
done:
return retval;