Pacify 12.2.1
20220819 (Red Hat 12.2.1-2) -Wsign-compare by checking
the readbuf() return explicitly for errors then casting from ssize_t.
Initial patch provided by Paul Eggert <eggert@cs.ucla.edu>.
const char* err;
unsigned int name_len = make_toui (name + 3, &err);
- if (err || name_len == 0 || name_len > PATH_MAX)
+ if (err || name_len == 0 || name_len >= MIN (PATH_MAX, INT_MAX))
goto invalid;
name = alloca (name_len + 1);
nread = readbuf (desc, name, name_len);
- if (nread != name_len)
+ if (nread < 0 || (unsigned int) nread != name_len)
goto invalid;
name[name_len] = '\0';