|
@@ -91,9 +91,9 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
|
|
|
|
|
|
next_opt = memchr(opt, '#', end - opt) ?: end;
|
|
|
opt_len = next_opt - opt;
|
|
|
- if (!opt_len) {
|
|
|
- printk(KERN_WARNING
|
|
|
- "Empty option to dns_resolver key\n");
|
|
|
+ if (opt_len <= 0 || opt_len > 128) {
|
|
|
+ pr_warn_ratelimited("Invalid option length (%d) for dns_resolver key\n",
|
|
|
+ opt_len);
|
|
|
return -EINVAL;
|
|
|
}
|
|
|
|
|
@@ -127,10 +127,8 @@ dns_resolver_preparse(struct key_preparsed_payload *prep)
|
|
|
}
|
|
|
|
|
|
bad_option_value:
|
|
|
- printk(KERN_WARNING
|
|
|
- "Option '%*.*s' to dns_resolver key:"
|
|
|
- " bad/missing value\n",
|
|
|
- opt_nlen, opt_nlen, opt);
|
|
|
+ pr_warn_ratelimited("Option '%*.*s' to dns_resolver key: bad/missing value\n",
|
|
|
+ opt_nlen, opt_nlen, opt);
|
|
|
return -EINVAL;
|
|
|
} while (opt = next_opt + 1, opt < end);
|
|
|
}
|