diff options
author | Ondřej Bílka <neleai@seznam.cz> | 2013-10-17 18:33:58 +0200 |
---|---|---|
committer | Ondřej Bílka <neleai@seznam.cz> | 2013-10-17 18:34:29 +0200 |
commit | 264aad1e6aca30efddfcfae05c44ad38bb5e137d (patch) | |
tree | c0d35a4dab6547e4cd4fc595ee389608ac9bcd45 /inet | |
parent | b957ced8890a4438c8efe2c15e5abf4e327f25cf (diff) | |
download | glibc-264aad1e6aca30efddfcfae05c44ad38bb5e137d.tar.gz glibc-264aad1e6aca30efddfcfae05c44ad38bb5e137d.tar.xz glibc-264aad1e6aca30efddfcfae05c44ad38bb5e137d.zip |
Fix inet_network("1 bar"). Fixes bug 15277.
Diffstat (limited to 'inet')
-rw-r--r-- | inet/inet_net.c | 22 | ||||
-rw-r--r-- | inet/tst-network.c | 1 |
2 files changed, 22 insertions, 1 deletions
diff --git a/inet/inet_net.c b/inet/inet_net.c index 68e232f3d3..5d61c75820 100644 --- a/inet/inet_net.c +++ b/inet/inet_net.c @@ -27,6 +27,24 @@ * SUCH DAMAGE. */ +/* Copyright (C) 2013 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 + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + The GNU C Library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with the GNU C Library; if not, see + <http://www.gnu.org/licenses/>. */ + + #if defined(LIBC_SCCS) && !defined(lint) static char sccsid[] = "@(#)inet_network.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ @@ -81,7 +99,9 @@ again: *pp++ = val, cp++; goto again; } - if (*cp && !isspace(*cp)) + while (isspace(*cp)) + cp++; + if (*cp) return (INADDR_NONE); if (pp >= parts + 4 || val > 0xff) return (INADDR_NONE); diff --git a/inet/tst-network.c b/inet/tst-network.c index 6b79e62df6..2eefb0c04a 100644 --- a/inet/tst-network.c +++ b/inet/tst-network.c @@ -38,6 +38,7 @@ struct {"0x0", 0}, /* Now some invalid addresses. */ {"0x", INADDR_NONE}, + {"1 bar", INADDR_NONE}, /* Bug 15277. */ {"141.30.225.2800", INADDR_NONE}, {"141.76.1.1.1", INADDR_NONE}, {"141.76.1.11.", INADDR_NONE}, |