15347, 15804, 15894, 16002, 16198, 16284, 16357, 16447, 16532, 16545,
16574, 16599, 16600, 16609, 16610, 16611, 16613, 16623, 16632, 16634,
16639, 16642, 16649, 16670, 16674, 16677, 16680, 16683, 16689, 16695,
- 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16743, 16758, 16760.
+ 16701, 16706, 16707, 16712, 16713, 16714, 16731, 16743, 16758, 16759,
+ 16760.
* Running the testsuite no longer terminates as soon as a test fails.
Instead, a file tests.sum (xtests.sum from "make xcheck") is generated,
}
#ifdef USE_NSCD
+static const char *
+get_nonempty_val (const char *in)
+{
+ if (*in == '\0')
+ return NULL;
+ return in;
+}
+
static enum nss_status
nscd_getnetgrent (struct __netgrent *datap, char *buffer, size_t buflen,
int *errnop)
return NSS_STATUS_UNAVAIL;
datap->type = triple_val;
- datap->val.triple.host = datap->cursor;
+ datap->val.triple.host = get_nonempty_val (datap->cursor);
datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
- datap->val.triple.user = datap->cursor;
+ datap->val.triple.user = get_nonempty_val (datap->cursor);
datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
- datap->val.triple.domain = datap->cursor;
+ datap->val.triple.domain = get_nonempty_val (datap->cursor);
datap->cursor = (char *) __rawmemchr (datap->cursor, '\0') + 1;
return NSS_STATUS_SUCCESS;