LCOV - code coverage report
Current view: top level - src - alloc.c (source / functions) Hit Total Coverage
Test: burp-coverage-clean.info Lines: 30 30 100.0 %
Date: 2015-10-31 Functions: 7 7 100.0 %

          Line data    Source code
       1             : #include "burp.h"
       2             : #include "alloc.h"
       3             : #include "log.h"
       4             : 
       5             : #ifdef UTEST
       6             : uint64_t alloc_count=0;
       7             : uint64_t free_count=0;
       8          17 : void alloc_counters_reset(void)
       9             : {
      10          17 :         alloc_count=0;
      11          17 :         free_count=0;
      12          17 : }
      13             : #endif
      14             : 
      15      168578 : char *strdup_w(const char *s, const char *func)
      16             : {
      17             :         char *ret;
      18      168578 :         if(!(ret=strdup(s))) log_oom_w(__func__, func);
      19             : #ifdef UTEST
      20      168578 :         else alloc_count++;
      21             : #endif
      22      168578 :         return ret;
      23             : }
      24             : 
      25       90736 : void *realloc_w(void *ptr, size_t size, const char *func)
      26             : {
      27             :         void *ret;
      28             : #ifdef UTEST
      29       90736 :         int already_alloced=0;
      30       90736 :         if(ptr) already_alloced=1;
      31             : #endif
      32       90736 :         if(!(ret=realloc(ptr, size))) log_oom_w(__func__, func);
      33             : #ifdef UTEST
      34       90736 :         else if(!already_alloced) alloc_count++;
      35             : #endif
      36       90736 :         return ret;
      37             : }
      38             : 
      39      362551 : void *malloc_w(size_t size, const char *func)
      40             : {
      41             :         void *ret;
      42      362551 :         if(!(ret=malloc(size))) log_oom_w(__func__, func);
      43             : #ifdef UTEST
      44      362551 :         else alloc_count++;
      45             : #endif
      46      362551 :         return ret;
      47             : }
      48             : 
      49      360435 : void *calloc_w(size_t nmem, size_t size, const char *func)
      50             : {
      51             :         void *ret;
      52      360435 :         if(!(ret=calloc(nmem, size))) log_oom_w(__func__, func);
      53             : #ifdef UTEST
      54      360435 :         else alloc_count++;
      55             : #endif
      56      360435 :         return ret;
      57             : }
      58             : 
      59     1840515 : void free_v(void **ptr)
      60             : {
      61     3681030 :         if(!ptr || !*ptr) return;
      62      904752 :         free(*ptr);
      63      904752 :         *ptr=NULL;
      64             : #ifdef UTEST
      65      904752 :         free_count++;
      66             : #endif
      67             : }
      68             : 
      69     1409803 : void free_w(char **str)
      70             : {
      71     1409803 :         free_v((void **)str);
      72     1409803 : }

Generated by: LCOV version 1.10