diff options
author | Andreas Schwab <schwab@suse.de> | 2013-01-21 17:41:28 +0100 |
---|---|---|
committer | Andreas Schwab <schwab@suse.de> | 2013-05-21 12:26:33 +0200 |
commit | d5dd6189d506068ed11c8bfa1e1e9bffde04decd (patch) | |
tree | 70f57dbbd1771600abbdcd6263aade8822357926 /nss/test-digits-dots.c | |
parent | fef94eab0bd308d5059a2588c753bf9a4926845d (diff) | |
download | glibc-d5dd6189d506068ed11c8bfa1e1e9bffde04decd.tar.gz glibc-d5dd6189d506068ed11c8bfa1e1e9bffde04decd.tar.xz glibc-d5dd6189d506068ed11c8bfa1e1e9bffde04decd.zip |
Fix parsing of numeric hosts in gethostbyname_r
Diffstat (limited to 'nss/test-digits-dots.c')
-rw-r--r-- | nss/test-digits-dots.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/nss/test-digits-dots.c b/nss/test-digits-dots.c new file mode 100644 index 0000000000..1efa3449a3 --- /dev/null +++ b/nss/test-digits-dots.c @@ -0,0 +1,38 @@ +/* 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/>. */ + +/* Testcase for BZ #15014 */ + +#include <stdlib.h> +#include <netdb.h> +#include <errno.h> + +static int +do_test (void) +{ + char buf[32]; + struct hostent *result = NULL; + struct hostent ret; + int h_err = 0; + int err; + + err = gethostbyname_r ("1.2.3.4", &ret, buf, sizeof (buf), &result, &h_err); + return err == ERANGE && h_err == NETDB_INTERNAL ? EXIT_SUCCESS : EXIT_FAILURE; +} + +#define TEST_FUNCTION do_test () +#include "../test-skeleton.c" |