diff --git a/minix/lib/libsys/rmib.c b/minix/lib/libsys/rmib.c index e4b686389..82084de60 100644 --- a/minix/lib/libsys/rmib.c +++ b/minix/lib/libsys/rmib.c @@ -711,7 +711,9 @@ rmib_call(const message * m_in) */ /* A zero name length is valid and should always yield EISDIR. */ namelen = m_in->m_mib_lsys_call.name_len; - if (prefixlen + namelen > __arraycount(name)) + if (namelen > __arraycount(name) || + prefixlen > __arraycount(name) || + prefixlen + namelen > __arraycount(name)) return EINVAL; if (namelen > 0) {