mirror of
https://sourceware.org/git/glibc.git
synced 2024-12-13 14:50:17 +00:00
(_nss_nisplus_parse_spent): Fix handling of empty entries.
This commit is contained in:
parent
9cee1c697b
commit
16cc388add
@ -307,7 +307,8 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp,
|
||||
first_unused += (len + 1);
|
||||
|
||||
sp->sp_lstchg = sp->sp_min = sp->sp_max = sp->sp_warn = sp->sp_inact =
|
||||
sp->sp_expire = sp->sp_flag = -1;
|
||||
sp->sp_expire = -1;
|
||||
sp->sp_flag = ~0ul;
|
||||
|
||||
if (NISENTRYLEN (0, 7, result) > 0)
|
||||
{
|
||||
@ -316,48 +317,55 @@ _nss_nisplus_parse_spent (nis_result *result, struct spwd *sp,
|
||||
line = NISENTRYVAL (0, 7, result);
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_lstchg = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_min = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_max = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_warn = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_inact = atol (line);
|
||||
|
||||
line = cp;
|
||||
cp = strchr (line, ':');
|
||||
if (cp == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
*cp++ = '\0';
|
||||
if (*line)
|
||||
sp->sp_expire = atol (line);
|
||||
|
||||
line = cp;
|
||||
if (line == NULL)
|
||||
return 0;
|
||||
return 1;
|
||||
if (*line)
|
||||
sp->sp_flag = atol (line);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user