Annotation of src/usr.bin/ssh/xmalloc.c, Revision 1.1
1.1 ! deraadt 1: /*
! 2:
! 3: xmalloc.c
! 4:
! 5: Author: Tatu Ylonen <ylo@cs.hut.fi>
! 6:
! 7: Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
! 8: All rights reserved
! 9:
! 10: Created: Mon Mar 20 21:23:10 1995 ylo
! 11:
! 12: Versions of malloc and friends that check their results, and never return
! 13: failure (they call fatal if they encounter an error).
! 14:
! 15: */
! 16:
! 17: #include "includes.h"
! 18: RCSID("$Id: xmalloc.c,v 1.2 1999/05/04 11:59:28 bg Exp $");
! 19:
! 20: #include "ssh.h"
! 21:
! 22: #if 0
! 23: void *malloc(size_t size);
! 24: void *realloc(void *ptr, size_t size);
! 25: void free(void *ptr);
! 26: #endif
! 27:
! 28: void *xmalloc(size_t size)
! 29: {
! 30: void *ptr = malloc(size);
! 31: if (ptr == NULL)
! 32: fatal("xmalloc: out of memory (allocating %d bytes)", (int)size);
! 33: return ptr;
! 34: }
! 35:
! 36: void *xrealloc(void *ptr, size_t new_size)
! 37: {
! 38: void *new_ptr;
! 39:
! 40: if (ptr == NULL)
! 41: fatal("xrealloc: NULL pointer given as argument");
! 42: new_ptr = realloc(ptr, new_size);
! 43: if (new_ptr == NULL)
! 44: fatal("xrealloc: out of memory (new_size %d bytes)", (int)new_size);
! 45: return new_ptr;
! 46: }
! 47:
! 48: void xfree(void *ptr)
! 49: {
! 50: if (ptr == NULL)
! 51: fatal("xfree: NULL pointer given as argument");
! 52: free(ptr);
! 53: }
! 54:
! 55: char *xstrdup(const char *str)
! 56: {
! 57: char *cp = xmalloc(strlen(str) + 1);
! 58: strcpy(cp, str);
! 59: return cp;
! 60: }