[BACK]Return to xmalloc.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / ssh

Diff for /src/usr.bin/ssh/xmalloc.c between version 1.6.2.2 and 1.6.2.3

version 1.6.2.2, 2000/11/08 21:31:40 version 1.6.2.3, 2001/03/12 15:44:18
Line 4 
Line 4 
  *                    All rights reserved   *                    All rights reserved
  * Versions of malloc and friends that check their results, and never return   * Versions of malloc and friends that check their results, and never return
  * failure (they call fatal if they encounter an error).   * failure (they call fatal if they encounter an error).
  *   *
  * As far as I am concerned, the code I have written for this software   * As far as I am concerned, the code I have written for this software
  * can be used freely for any purpose.  Any derived versions of this   * can be used freely for any purpose.  Any derived versions of this
  * software must be clearly marked as such, and if the derived work is   * software must be clearly marked as such, and if the derived work is
Line 15 
Line 15 
 #include "includes.h"  #include "includes.h"
 RCSID("$OpenBSD$");  RCSID("$OpenBSD$");
   
 #include "ssh.h"  #include "xmalloc.h"
   #include "log.h"
   
 void *  void *
 xmalloc(size_t size)  xmalloc(size_t size)
 {  {
         void *ptr = malloc(size);          void *ptr;
   
           if (size == 0)
                   fatal("xmalloc: zero size");
           ptr = malloc(size);
         if (ptr == NULL)          if (ptr == NULL)
                 fatal("xmalloc: out of memory (allocating %d bytes)", (int) size);                  fatal("xmalloc: out of memory (allocating %lu bytes)", (u_long) size);
         return ptr;          return ptr;
 }  }
   
Line 31 
Line 36 
 {  {
         void *new_ptr;          void *new_ptr;
   
           if (new_size == 0)
                   fatal("xrealloc: zero size");
         if (ptr == NULL)          if (ptr == NULL)
                 fatal("xrealloc: NULL pointer given as argument");                  fatal("xrealloc: NULL pointer given as argument");
         new_ptr = realloc(ptr, new_size);          new_ptr = realloc(ptr, new_size);
         if (new_ptr == NULL)          if (new_ptr == NULL)
                 fatal("xrealloc: out of memory (new_size %d bytes)", (int) new_size);                  fatal("xrealloc: out of memory (new_size %lu bytes)", (u_long) new_size);
         return new_ptr;          return new_ptr;
 }  }
   
Line 50 
Line 57 
 char *  char *
 xstrdup(const char *str)  xstrdup(const char *str)
 {  {
         int len = strlen(str) + 1;          size_t len = strlen(str) + 1;
           char *cp;
   
         char *cp = xmalloc(len);          if (len == 0)
                   fatal("xstrdup: zero size");
           cp = xmalloc(len);
         strlcpy(cp, str, len);          strlcpy(cp, str, len);
         return cp;          return cp;
 }  }

Legend:
Removed from v.1.6.2.2  
changed lines
  Added in v.1.6.2.3