Searched hist:a9cefddd40444c1dc0c7fd69e69a2938f08bf9c6 (Results 1 – 1 of 1) sorted by relevance
/freebsd/lib/libjail/ |
H A D | jail_getid.c | diff a9cefddd40444c1dc0c7fd69e69a2938f08bf9c6 Fri May 24 03:28:07 CEST 2019 Kyle Evans <kevans@FreeBSD.org> jail_getid(3): validate jid string input
Currently, if jail_getid(3) is passed in a numeric string, it assumes that this is a jid string and passes it back converted to an int without checking that it's a valid/existing jid. This breaks consumers that might use jail_getid(3) to see if it can trivially grab a jid from a name if that name happens to be numeric but not actually the name/jid of the jail. Instead of returning -1 for the jail not existing, it'll return the int version of the input and the consumer will not fallback to trying other methods.
Pass the numeric input to jail_get(2) as the jid for validation, rather than the name. This works well- the kernel enforces that jid=name if name is numeric, so doing the safe thing and checking numeric input as a jid will still DTRT based on the description of jail_getid.
Reported by: Wes Maag Reviewed by: jamie, Wes Maag MFC after: 3 days Differential Revision: https://reviews.freebsd.org/D20388
|