} else {
/* The host part of the mask isn't IP-based */
if (IsFakeHost(user) && match_ircglob(user->fakehost, glob))
} else {
/* The host part of the mask isn't IP-based */
if (IsFakeHost(user) && match_ircglob(user->fakehost, glob))
if (hidden_host_suffix && user->handle_info) {
char hidden_host[HOSTLEN+1];
snprintf(hidden_host, sizeof(hidden_host), "%s.%s", user->handle_info->handle, hidden_host_suffix);
if (hidden_host_suffix && user->handle_info) {
char hidden_host[HOSTLEN+1];
snprintf(hidden_host, sizeof(hidden_host), "%s.%s", user->handle_info->handle, hidden_host_suffix);
- while ((ret = vsnprintf(buf->list + buf->used, buf->size, fmt, working)) == -1) {
+ while ((ret = vsnprintf(buf->list + buf->used, buf->size - buf->used, fmt, working)) <= 0) {