2
* Author: Tatu Ylonen <ylo@cs.hut.fi>
3
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
5
* Versions of malloc and friends that check their results, and never return
6
* failure (they call fatal if they encounter an error).
8
* As far as I am concerned, the code I have written for this software
9
* can be used freely for any purpose. Any derived versions of this
10
* software must be clearly marked as such, and if the derived work is
11
* incompatible with the protocol description in the RFC file, it must be
12
* called by a name other than "ssh" or "Secure Shell".
16
RCSID("$OpenBSD: xmalloc.c,v 1.16 2001/07/23 18:21:46 stevesk Exp $");
27
fatal("xmalloc: zero size");
30
fatal("xmalloc: out of memory (allocating %lu bytes)", (u_long) size);
35
xrealloc(void *ptr, size_t new_size)
40
fatal("xrealloc: zero size");
42
new_ptr = malloc(new_size);
44
new_ptr = realloc(ptr, new_size);
46
fatal("xrealloc: out of memory (new_size %lu bytes)", (u_long) new_size);
54
fatal("xfree: NULL pointer given as argument");
59
xstrdup(const char *str)
64
len = strlen(str) + 1;
66
strlcpy(cp, str, len);