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

Diff for /src/usr.bin/tmux/xmalloc.c between version 1.7 and 1.8

version 1.7, 2014/10/20 23:57:14 version 1.8, 2015/11/17 18:25:03
Line 25 
Line 25 
 #include "tmux.h"  #include "tmux.h"
   
 char *  char *
 xstrdup(const char *s)  xstrdup(const char *str)
 {  {
         char    *ptr;          char    *cp;
         size_t   len;  
   
         len = strlen(s) + 1;          if ((cp = strdup(str)) == NULL)
         ptr = xmalloc(len);                  fatal("xstrdup");
           return (cp);
         strlcpy(ptr, s, len);  
         return (ptr);  
 }  }
   
 void *  void *
Line 43 
Line 40 
         void    *ptr;          void    *ptr;
   
         if (size == 0 || nmemb == 0)          if (size == 0 || nmemb == 0)
                 fatalx("zero size");                  fatalx("xcalloc: zero size");
         if (SIZE_MAX / nmemb < size)  
                 fatalx("nmemb * size > SIZE_MAX");  
         if ((ptr = calloc(nmemb, size)) == NULL)          if ((ptr = calloc(nmemb, size)) == NULL)
                 fatal("xcalloc failed");                  log_fatal("xcalloc: allocating %zu bytes", size);
   
         return (ptr);          return (ptr);
 }  }
Line 58 
Line 53 
         void    *ptr;          void    *ptr;
   
         if (size == 0)          if (size == 0)
                 fatalx("zero size");                  fatalx("xmalloc: zero size");
         if ((ptr = malloc(size)) == NULL)          if ((ptr = malloc(size)) == NULL)
                 fatal("xmalloc failed");                  log_fatal("xmalloc: allocating %zu bytes", size);
   
         return (ptr);          return (ptr);
 }  }
Line 71 
Line 66 
         void    *newptr;          void    *newptr;
   
         if (newsize == 0)          if (newsize == 0)
                 fatalx("zero size");                  fatalx("xrealloc: zero size");
         if ((newptr = realloc(oldptr, newsize)) == NULL)          if ((newptr = realloc(oldptr, newsize)) == NULL)
                 fatal("xrealloc failed");                  log_fatal("xrealloc: allocating %zu bytes", newsize);
   
         return (newptr);          return (newptr);
 }  }
Line 81 
Line 76 
 void *  void *
 xreallocarray(void *oldptr, size_t nmemb, size_t size)  xreallocarray(void *oldptr, size_t nmemb, size_t size)
 {  {
         size_t   newsize = nmemb * size;  
         void    *newptr;          void    *newptr;
   
         if (newsize == 0)          if (nmemb == 0 || size == 0)
                 fatalx("zero size");                  fatalx("xreallocarray: zero size");
         if (SIZE_MAX / nmemb < size)          if ((newptr = reallocarray(oldptr, nmemb, size)) == NULL)
                 fatalx("nmemb * size > SIZE_MAX");                  log_fatal("xreallocarray: allocating %zu * %zu bytes",
         if ((newptr = realloc(oldptr, newsize)) == NULL)                      nmemb, size);
                 fatal("xreallocarray failed");  
   
         return (newptr);          return (newptr);
 }  }
Line 114 
Line 107 
   
         i = vasprintf(ret, fmt, ap);          i = vasprintf(ret, fmt, ap);
         if (i < 0 || *ret == NULL)          if (i < 0 || *ret == NULL)
                 fatal("xvasprintf failed");                  fatal("xvasprintf");
   
         return (i);          return (i);
 }  }
Line 138 
Line 131 
         int     i;          int     i;
   
         if (len > INT_MAX)          if (len > INT_MAX)
                 fatalx("len > INT_MAX");                  fatalx("xvsnprintf: len > INT_MAX");
   
         i = vsnprintf(buf, len, fmt, ap);          i = vsnprintf(buf, len, fmt, ap);
         if (i < 0)          if (i < 0 || i >= (int)len)
                 fatal("vsnprintf failed");                  fatalx("xvsnprintf: overflow");
   
         return (i);          return (i);
 }  }

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8