diff options
author | Ulrich Drepper <drepper@gmail.com> | 2011-05-29 22:26:43 -0400 |
---|---|---|
committer | Ulrich Drepper <drepper@gmail.com> | 2011-05-29 22:26:43 -0400 |
commit | 873ca5046137917ddb6fae7f6cf097d91612d4d6 (patch) | |
tree | 0cacfff6094cfd55b9a956f0283f9a088200b1e7 | |
parent | 652ffab11358f8961770792cbbecbaec42c69479 (diff) | |
download | glibc-873ca5046137917ddb6fae7f6cf097d91612d4d6.tar.gz glibc-873ca5046137917ddb6fae7f6cf097d91612d4d6.tar.xz glibc-873ca5046137917ddb6fae7f6cf097d91612d4d6.zip |
Interpret numeric values in shadow file as signed
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | NEWS | 20 | ||||
-rw-r--r-- | shadow/sgetspent_r.c | 20 |
3 files changed, 24 insertions, 20 deletions
diff --git a/ChangeLog b/ChangeLog index f650fbab6c..43ac643a19 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2011-05-29 Ulrich Drepper <drepper@gmail.com> + [BZ #9706] + * shadow/sgetspent_r.c (LINE_PARSER): Interpret nymeric field values + as signed. + * resolv/res_init.c (res_setoptions): Make the code more compact. [BZ #11558] diff --git a/NEWS b/NEWS index fdd8a63c5c..955b31ee7c 100644 --- a/NEWS +++ b/NEWS @@ -9,16 +9,16 @@ Version 2.14 * The following bugs are resolved with this release: - 386, 6420, 7101, 9730, 9732, 9809, 10138, 10149, 10157, 11257, 11258, - 11487, 11532, 11558, 11578, 11634, 11653, 11668, 11697, 11724, 11781, - 11799, 11820, 11837, 11857, 11869, 11892, 11895, 11901, 11945, 11947, - 11952, 11987, 12052, 12083, 12158, 12178, 12200, 12346, 12393, 12420, - 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489, 12509, 12510, - 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583, 12587, 12597, - 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655, 12660, 12671, - 12681, 12685, 12711, 12713, 12714, 12717, 12723, 12724, 12734, 12738, - 12746, 12766, 12775, 12777, 12782, 12788, 12792, 12795, 12811, 12813, - 12814 + 386, 6420, 7101, 9706, 9730, 9732, 9809, 10138, 10149, 10157, 11257, + 11258, 11487, 11532, 11558, 11578, 11634, 11653, 11668, 11697, 11724, + 11781, 11799, 11820, 11837, 11857, 11869, 11892, 11895, 11901, 11945, + 11947, 11952, 11987, 12052, 12083, 12158, 12178, 12200, 12346, 12393, + 12420, 12432, 12445, 12449, 12453, 12454, 12460, 12469, 12489, 12509, + 12510, 12511, 12518, 12527, 12541, 12545, 12551, 12582, 12583, 12587, + 12597, 12601, 12611, 12625, 12626, 12631, 12650, 12653, 12655, 12660, + 12671, 12681, 12685, 12711, 12713, 12714, 12717, 12723, 12724, 12734, + 12738, 12746, 12766, 12775, 12777, 12782, 12788, 12792, 12795, 12811, + 12813, 12814 * The RPC implementation in libc is obsoleted. Old programs keep working but new programs cannot be linked with the routines in libc anymore. diff --git a/shadow/sgetspent_r.c b/shadow/sgetspent_r.c index 5599ee4ec8..5db4aec7a2 100644 --- a/shadow/sgetspent_r.c +++ b/shadow/sgetspent_r.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1996, 1997, 1998, 2005, 2009 Free Software Foundation, Inc. +/* Copyright (C) 1996-1998, 2005, 2009, 2011 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -52,11 +52,11 @@ LINE_PARSER else { STRING_FIELD (result->sp_pwdp, ISCOLON, 0); - INT_FIELD_MAYBE_NULL (result->sp_lstchg, ISCOLON, 0, 10, (long int), + INT_FIELD_MAYBE_NULL (result->sp_lstchg, ISCOLON, 0, 10, (long int) (int), (long int) -1); - INT_FIELD_MAYBE_NULL (result->sp_min, ISCOLON, 0, 10, (long int), + INT_FIELD_MAYBE_NULL (result->sp_min, ISCOLON, 0, 10, (long int) (int), (long int) -1); - INT_FIELD_MAYBE_NULL (result->sp_max, ISCOLON, 0, 10, (long int), + INT_FIELD_MAYBE_NULL (result->sp_max, ISCOLON, 0, 10, (long int) (int), (long int) -1); while (isspace (*line)) ++line; @@ -70,12 +70,12 @@ LINE_PARSER } else { - INT_FIELD_MAYBE_NULL (result->sp_warn, ISCOLON, 0, 10, (long int), - (long int) -1); - INT_FIELD_MAYBE_NULL (result->sp_inact, ISCOLON, 0, 10, (long int), - (long int) -1); - INT_FIELD_MAYBE_NULL (result->sp_expire, ISCOLON, 0, 10, (long int), - (long int) -1); + INT_FIELD_MAYBE_NULL (result->sp_warn, ISCOLON, 0, 10, + (long int) (int), (long int) -1); + INT_FIELD_MAYBE_NULL (result->sp_inact, ISCOLON, 0, 10, + (long int) (int), (long int) -1); + INT_FIELD_MAYBE_NULL (result->sp_expire, ISCOLON, 0, 10, + (long int) (int), (long int) -1); if (*line != '\0') INT_FIELD_MAYBE_NULL (result->sp_flag, FALSEP, 0, 10, (unsigned long int), ~0ul) |