xref: /freebsd/crypto/openssh/xmalloc.h (revision 5521ff5a4d1929056e7ffc982fac3341ca54df7c)
1 /*
2  * Author: Tatu Ylonen <ylo@cs.hut.fi>
3  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
4  *                    All rights reserved
5  * Created: Mon Mar 20 22:09:17 1995 ylo
6  *
7  * Versions of malloc and friends that check their results, and never return
8  * failure (they call fatal if they encounter an error).
9  *
10  * As far as I am concerned, the code I have written for this software
11  * can be used freely for any purpose.  Any derived versions of this
12  * software must be clearly marked as such, and if the derived work is
13  * incompatible with the protocol description in the RFC file, it must be
14  * called by a name other than "ssh" or "Secure Shell".
15  */
16 
17 /* RCSID("$OpenBSD: xmalloc.h,v 1.5 2000/09/07 20:27:56 deraadt Exp $"); */
18 
19 #ifndef XMALLOC_H
20 #define XMALLOC_H
21 
22 /* Like malloc, but calls fatal() if out of memory. */
23 void   *xmalloc(size_t size);
24 
25 /* Like realloc, but calls fatal() if out of memory. */
26 void   *xrealloc(void *ptr, size_t new_size);
27 
28 /* Frees memory allocated using xmalloc or xrealloc. */
29 void    xfree(void *ptr);
30 
31 /* Allocates memory using xmalloc, and copies the string into that memory. */
32 char   *xstrdup(const char *str);
33 
34 #endif				/* XMALLOC_H */
35