=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/make/memory.c,v retrieving revision 1.5 retrieving revision 1.6 diff -c -r1.5 -r1.6 *** src/usr.bin/make/memory.c 2008/01/29 22:23:10 1.5 --- src/usr.bin/make/memory.c 2008/03/24 18:03:53 1.6 *************** *** 1,5 **** /* $OpenPackages$ */ ! /* $OpenBSD: memory.c,v 1.5 2008/01/29 22:23:10 espie Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 --- 1,5 ---- /* $OpenPackages$ */ ! /* $OpenBSD: memory.c,v 1.6 2008/03/24 18:03:53 espie Exp $ */ /* * Copyright (c) 1988, 1989, 1990, 1993 *************** *** 105,113 **** } void * ! erecalloc(void *ptr, size_t s1, size_t s2) { ! if ((ptr = recalloc(ptr, s1, s2)) == NULL) enocmem(s1, s2); return ptr; } --- 105,120 ---- } void * ! emult_realloc(void *ptr, size_t s1, size_t s2) { ! size_t size; ! ! if (s1 && SIZE_MAX / s1 < s2) { ! errno = ENOMEM; ! enocmem(s1, s2); ! } ! size = s1 * s2; ! if ((ptr = realloc(ptr, size)) == NULL) enocmem(s1, s2); return ptr; }