diff options
Diffstat (limited to 'nis/nss_nis/nis-service.c')
-rw-r--r-- | nis/nss_nis/nis-service.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/nis/nss_nis/nis-service.c b/nis/nss_nis/nis-service.c index 03a9fbf48e..6d07479ee2 100644 --- a/nis/nss_nis/nis-service.c +++ b/nis/nss_nis/nis-service.c @@ -28,6 +28,13 @@ #include "nss-nis.h" + +/* The parser is defined in a different module. */ +extern int _nss_files_parse_servent (char *line, struct servent *result, + char *data, size_t datalen); + + + __libc_lock_define_initialized (static, lock) struct intern_t @@ -127,7 +134,7 @@ internal_nis_getservent_r (struct servent *serv, char *buffer, return retval; } - if (len + 1 > buflen) + if ((size_t) (len + 1) > buflen) { free (result); __set_errno (ERANGE); |