malloc&bzero.
* sunrpc/svc_udp.c (BZERO): Remove definition.
(CALLOC): Define.
(svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
* sunrpc/des_impl.c: Remove ALT_ECB support. We never used it.
(des_SPtrans): Use uint32_t type.
(des_skb): Likewise.
* sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
place where the iso639 array might be accessed beyond the limits.
+2006-05-05 Ulrich Drepper <drepper@redhat.com>
+
+ * sunrpc/svcauth_des.c (cache_init): Use calloc instead of
+ malloc&bzero.
+
+ * sunrpc/svc_udp.c (BZERO): Remove definition.
+ (CALLOC): Define.
+ (svc_enablecache): Use CALLOC instead of ALLOC&BZERO.
+
+ * sunrpc/des_impl.c: Remove ALT_ECB support. We never used it.
+ (des_SPtrans): Use uint32_t type.
+ (des_skb): Likewise.
+
+ * sunrpc/xdr_ref.c (xdr_reference): Use calloc instead of malloc&bzero.
+
2006-05-05 Jakub Jelinek <jakub@redhat.com>
[BZ #2509]
2006-05-05 Ulrich Drepper <drepper@redhat.com>
* locale/programs/ld-address.c (address_finish): Fix one more
- place where the iso639 array might be access beyond the limits.
+ place where the iso639 array might be accessed beyond the limits.
2006-05-04 Ulrich Drepper <drepper@redhat.com>
/* write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,*/
/* Boston, MA 02111, USA to obtain a copy. */
#include <string.h>
+#include <stdint.h>
#include "des.h"
-static const unsigned long des_SPtrans[8][64] =
+static const uint32_t des_SPtrans[8][64] =
{
{ /* nibble 0 */
0x00820200, 0x00020000, 0x80800000, 0x80820200,
0x00000020, 0x08208000, 0x00208020, 0x00000000,
0x08000000, 0x08200020, 0x00008000, 0x00208020}};
-static const unsigned long des_skb[8][64] =
+static const uint32_t des_skb[8][64] =
{
{ /* for C bits (numbered as per FIPS 46) 1 2 3 4 5 6 */
0x00000000, 0x00000010, 0x20000000, 0x20000010,
(a)=(a)^(t)^(t>>(16-(n))))
-/* The changes to this macro may help or hinder, depending on the
- * compiler and the achitecture. gcc2 always seems to do well :-).
- * Inspired by Dana How <how@isl.stanford.edu>
- * DO NOT use the alternative version on machines with 8 byte longs.
- */
-#ifdef ALT_ECB
-#define D_ENCRYPT(L,R,S) \
- u=((R^s[S ])<<2); \
- t= R^s[S+1]; \
- t=((t>>2)+(t<<30)); \
- L^= \
- *(const unsigned long *)(des_SP+0x0100+((t )&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0300+((t>> 8)&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0500+((t>>16)&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0700+((t>>24)&0xfc))+ \
- *(const unsigned long *)(des_SP+ ((u )&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0200+((u>> 8)&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0400+((u>>16)&0xfc))+ \
- *(const unsigned long *)(des_SP+0x0600+((u>>24)&0xfc));
-#else /* original version */
#define D_ENCRYPT(L,R,S) \
u=(R^s[S ]); \
t=R^s[S+1]; \
des_SPtrans[2][(u>> 8)&0x3f]| \
des_SPtrans[4][(u>>16)&0x3f]| \
des_SPtrans[6][(u>>24)&0x3f];
-#endif
#define ITERATIONS 16
des_encrypt (unsigned long *buf, unsigned long *schedule, int encrypt)
{
register unsigned long l, r, t, u;
-#ifdef ALT_ECB
- register const unsigned char *des_SP = (const unsigned char *) des_SPtrans;
-#endif
register int i;
register unsigned long *s;
#define ALLOC(type, size) \
(type *) mem_alloc((unsigned) (sizeof(type) * (size)))
-#define BZERO(addr, type, size) \
- __bzero((char *) addr, sizeof(type) * (int) (size))
+#define CALLOC(type, size) \
+ (type *) calloc (sizeof (type), size)
/*
* An entry in the cache
}
uc->uc_size = size;
uc->uc_nextvictim = 0;
- uc->uc_entries = ALLOC (cache_ptr, size * SPARSENESS);
+ uc->uc_entries = CALLOC (cache_ptr, size * SPARSENESS);
if (uc->uc_entries == NULL)
{
mem_free (uc, sizeof (struct udp_cache));
CACHE_PERROR (_("enablecache: could not allocate cache data"));
return 0;
}
- BZERO (uc->uc_entries, cache_ptr, size * SPARSENESS);
- uc->uc_fifo = ALLOC (cache_ptr, size);
+ uc->uc_fifo = CALLOC (cache_ptr, size);
if (uc->uc_fifo == NULL)
{
mem_free (uc->uc_entries, size * SPARSENESS);
CACHE_PERROR (_("enablecache: could not allocate cache fifo"));
return 0;
}
- BZERO (uc->uc_fifo, cache_ptr, size);
su->su_cache = (char *) uc;
return 1;
}
register int i;
authdes_cache = (struct cache_entry *)
- mem_alloc (sizeof (struct cache_entry) * AUTHDES_CACHESZ);
+ calloc (sizeof (struct cache_entry) * AUTHDES_CACHESZ, 1);
if (authdes_cache == NULL)
return;
- __bzero ((char *) authdes_cache,
- sizeof (struct cache_entry) * AUTHDES_CACHESZ);
authdes_lru = (int *) mem_alloc (sizeof (int) * AUTHDES_CACHESZ);
/*
return TRUE;
case XDR_DECODE:
- *pp = loc = (caddr_t) mem_alloc (size);
+ *pp = loc = (caddr_t) calloc (1, size);
if (loc == NULL)
{
(void) __fxprintf (NULL, "%s",
_("xdr_reference: out of memory\n"));
return FALSE;
}
- __bzero (loc, (int) size);
break;
default:
break;