[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.4 and 1.7

version 1.6.2.4, 2001/03/21 18:53:21 version 1.7, 2000/06/20 01:39:45
Line 2 
Line 2 
  * Author: Tatu Ylonen <ylo@cs.hut.fi>   * Author: Tatu Ylonen <ylo@cs.hut.fi>
  * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland   * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
  *                    All rights reserved   *                    All rights reserved
    * Created: Mon Mar 20 21:23:10 1995 ylo
  * 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  
  * 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  
  * incompatible with the protocol description in the RFC file, it must be  
  * called by a name other than "ssh" or "Secure Shell".  
  */   */
   
 #include "includes.h"  #include "includes.h"
 RCSID("$OpenBSD$");  RCSID("$OpenBSD$");
   
 #include "xmalloc.h"  #include "ssh.h"
 #include "log.h"  
   
 void *  void *
 xmalloc(size_t size)  xmalloc(size_t size)
 {  {
         void *ptr;          void *ptr = malloc(size);
   
         if (size == 0)  
                 fatal("xmalloc: zero size");  
         ptr = malloc(size);  
         if (ptr == NULL)          if (ptr == NULL)
                 fatal("xmalloc: out of memory (allocating %lu bytes)", (u_long) size);                  fatal("xmalloc: out of memory (allocating %d bytes)", (int) size);
         return ptr;          return ptr;
 }  }
   
Line 36 
Line 26 
 {  {
         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 %lu bytes)", (u_long) new_size);                  fatal("xrealloc: out of memory (new_size %d bytes)", (int) new_size);
         return new_ptr;          return new_ptr;
 }  }
   
Line 57 
Line 45 
 char *  char *
 xstrdup(const char *str)  xstrdup(const char *str)
 {  {
         size_t len = strlen(str) + 1;          int len = strlen(str) + 1;
         char *cp;  
   
         if (len == 0)          char *cp = xmalloc(len);
                 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.4  
changed lines
  Added in v.1.7