diff options
-rw-r--r-- | ChangeLog | 14 | ||||
-rw-r--r-- | math/complex.h | 2 | ||||
-rw-r--r-- | resolv/res_debug.c | 14 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sched_getaffinity.c | 7 |
4 files changed, 26 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog index 3c133da56e..4f838521c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,17 @@ +2006-05-15 Jakub Jelinek <jakub@redhat.com> + + * resolv/res_debug.c (loc_ntoa): Make error const. + +2006-05-14 Andreas Schwab <schwab@suse.de> + + * math/complex.h [__LDBL_COMPAT]: Use __REDIRECT_NTH. + +2006-05-12 Jakub Jelinek <jakub@redhat.com> + + * sysdeps/unix/sysv/linux/sched_getaffinity.c: Include sys/param.h. + (__sched_getaffinity_new): Don't crash if cpusetsize is smaller than + sizeof (cpu_set_t). + 2006-05-11 Ulrich Drepper <drepper@redhat.com> * resolv/res_debug.c (loc_ntoa): Define error as array, not pointer. diff --git a/math/complex.h b/math/complex.h index 229bb7dca6..751aaf763f 100644 --- a/math/complex.h +++ b/math/complex.h @@ -89,7 +89,7 @@ __BEGIN_DECLS # ifdef __LDBL_COMPAT # undef __MATHDECL_1 # define __MATHDECL_1(type, function, args) \ - extern type __REDIRECT(__MATH_PRECNAME(function), args, function) __THROW + extern type __REDIRECT_NTH(__MATH_PRECNAME(function), args, function) # endif # ifndef _Mlong_double_ diff --git a/resolv/res_debug.c b/resolv/res_debug.c index 32ac829730..d9f1607df6 100644 --- a/resolv/res_debug.c +++ b/resolv/res_debug.c @@ -896,7 +896,7 @@ loc_ntoa(binary, ascii) const u_char *binary; char *ascii; { - static char error[] = "?"; + static const char error[] = "?"; static char tmpbuf[sizeof "1000 60 60.000 N 1000 60 60.000 W -12345678.00m 90000000.00m 90000000.00m 90000000.00m"]; const u_char *cp = binary; @@ -976,11 +976,11 @@ loc_ntoa(binary, ascii) altmeters = (altval / 100) * altsign; if ((sizestr = strdup(precsize_ntoa(sizeval))) == NULL) - sizestr = error; + sizestr = (char *) error; if ((hpstr = strdup(precsize_ntoa(hpval))) == NULL) - hpstr = error; + hpstr = (char *) error; if ((vpstr = strdup(precsize_ntoa(vpval))) == NULL) - vpstr = error; + vpstr = (char *) error; sprintf(ascii, "%d %.2d %.2d.%.3d %c %d %.2d %.2d.%.3d %c %d.%.2dm %sm %sm %sm", @@ -988,11 +988,11 @@ loc_ntoa(binary, ascii) longdeg, longmin, longsec, longsecfrac, eastwest, altmeters, altfrac, sizestr, hpstr, vpstr); - if (sizestr != error) + if (sizestr != (char *) error) free(sizestr); - if (hpstr != error) + if (hpstr != (char *) error) free(hpstr); - if (vpstr != error) + if (vpstr != (char *) error) free(vpstr); return (ascii); diff --git a/sysdeps/unix/sysv/linux/sched_getaffinity.c b/sysdeps/unix/sysv/linux/sched_getaffinity.c index c0a6eb81b9..ab171123b0 100644 --- a/sysdeps/unix/sysv/linux/sched_getaffinity.c +++ b/sysdeps/unix/sysv/linux/sched_getaffinity.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. +/* Copyright (C) 2002, 2003, 2004, 2005, 2006 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 @@ -20,6 +20,7 @@ #include <sched.h> #include <string.h> #include <sysdep.h> +#include <sys/param.h> #include <sys/types.h> #include <shlib-compat.h> @@ -28,8 +29,8 @@ int __sched_getaffinity_new (pid_t pid, size_t cpusetsize, cpu_set_t *cpuset) { - int res = INLINE_SYSCALL (sched_getaffinity, 3, pid, sizeof (cpu_set_t), - cpuset); + int res = INLINE_SYSCALL (sched_getaffinity, 3, pid, + MIN (INT_MAX, cpusetsize), cpuset); if (res != -1) { /* Clean the rest of the memory the kernel didn't do. */ |