libjail: Guard against programmer error in jailparam_export()

If the caller didn't use jailparam_import() to fetch the parameter
value, an attempt to export it will trigger a segfault.  Make it a bit
easier to figure out what's happening in this situation.

PR:		276809
Reviewed by:	jamie
MFC after:	1 week
Differential Revision:	https://reviews.freebsd.org/D43732
This commit is contained in:
Mark Johnston 2024-02-03 21:22:09 -05:00
parent 064fa628ce
commit dfabf3efaa

View File

@ -737,6 +737,12 @@ jailparam_export(struct jailparam *jp)
int i, nval, ival;
char valbuf[INET6_ADDRSTRLEN];
if (jp->jp_value == NULL) {
snprintf(jail_errmsg, JAIL_ERRMSGLEN,
"parameter %s was not imported", jp->jp_name);
errno = EINVAL;
return (NULL);
}
if ((jp->jp_ctltype & CTLTYPE) == CTLTYPE_STRING) {
value = strdup(jp->jp_value);
if (value == NULL)