[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.17 and 1.18

version 1.17, 2006/03/19 18:51:19 version 1.18, 2006/03/25 00:05:41
Line 31 
Line 31 
 }  }
   
 void *  void *
   xcalloc(size_t nmemb, size_t size)
   {
           void *ptr;
   
           if (nmemb && size && SIZE_T_MAX / nmemb < size)
                   fatal("xcalloc: nmemb * size > SIZE_T_MAX");
           if (size == 0 || nmemb == 0)
                   fatal("xcalloc: zero size");
           ptr = calloc(nmemb, size);
           if (ptr == NULL)
                   fatal("xcalloc: out of memory (allocating %lu bytes)",
                       (u_long)(size * nmemb));
           return ptr;
   }
   
   void *
 xrealloc(void *ptr, size_t new_size)  xrealloc(void *ptr, size_t new_size)
 {  {
         void *new_ptr;          void *new_ptr;
Line 64 
Line 80 
         cp = xmalloc(len);          cp = xmalloc(len);
         strlcpy(cp, str, len);          strlcpy(cp, str, len);
         return cp;          return cp;
   }
   
   int
   xasprintf(char **ret, const char *fmt, ...)
   {
           va_list ap;
           int i;
   
           va_start(ap, fmt);
           i = vasprintf(ret, fmt, ap);
           va_end(ap);
   
           if (i < 0 || *ret == NULL)
                   fatal("xasprintf: could not allocate memory");
   
           return (i);
 }  }

Legend:
Removed from v.1.17  
changed lines
  Added in v.1.18