From c8fb35cf5331018a716acef88e8ce150df2a0e20 Mon Sep 17 00:00:00 2001 From: Jose Angel Gariburo <563580@gmail.com> Date: Wed, 25 Oct 2017 17:48:22 +0200 Subject: [PATCH] Minor memory issues fixed. 'u_long' variable name changed to 'u_dword'. It is not a good idea to name a variable as an existing type. --- delay_manager.cpp | 6 +++++- lib/fec.c | 10 +++++----- lib/rs.c | 4 ++++ main.cpp | 1 + 4 files changed, 15 insertions(+), 6 deletions(-) diff --git a/delay_manager.cpp b/delay_manager.cpp index 0b16cdf..25013d8 100644 --- a/delay_manager.cpp +++ b/delay_manager.cpp @@ -66,7 +66,11 @@ int delay_manager_t::add(my_time_t delay,const dest_t &dest,char *data,int len) delay_data_t tmp=delay_data; tmp.data=(char *)malloc(delay_data.len+100); - + if(!tmp.data) + { + mylog(log_trace, "malloc() returned null in delay_manager_t::add()"); + return -1; + } memcpy(tmp.data,data,delay_data.len); my_time_t tmp_time=get_current_time_us(); diff --git a/lib/fec.c b/lib/fec.c index a392901..0f045bf 100644 --- a/lib/fec.c +++ b/lib/fec.c @@ -46,7 +46,7 @@ #include #include -typedef unsigned long u_long; +typedef unsigned long u_dword; /* * compatibility stuff */ @@ -75,7 +75,7 @@ struct timeval { }; #define gettimeofday(x, dummy) { (x)->ticks = clock() ; } #define DIFF_T(a,b) (1+ 1000000*(a.ticks - b.ticks) / CLOCKS_PER_SEC ) -typedef unsigned long u_long ; +typedef unsigned long u_dword ; typedef unsigned short u_short ; #else /* typically, unix systems */ #include @@ -89,12 +89,12 @@ typedef unsigned short u_short ; t = x.tv_usec + 1000000* (x.tv_sec & 0xff ) ; \ } #define TOCK(t) \ - { u_long t1 ; TICK(t1) ; \ + { u_dword t1 ; TICK(t1) ; \ if (t1 < t) t = 256000000 + t1 - t ; \ else t = t1 - t ; \ if (t == 0) t = 1 ;} -u_long ticks[10]; /* vars for timekeeping */ +u_dword ticks[10]; /* vars for timekeeping */ #else #define DEB(x) #define DDB(x) @@ -640,7 +640,7 @@ init_fec() #define FEC_MAGIC 0xFECC0DEC struct fec_parms { - u_long magic ; + u_dword magic ; int k, n ; /* parameters of the code */ gf *enc_matrix ; } ; diff --git a/lib/rs.c b/lib/rs.c index 4e5d5ef..20e2279 100644 --- a/lib/rs.c +++ b/lib/rs.c @@ -51,6 +51,10 @@ void* get_code(int k,int n) if (table==0) { table=(void* (*)[256]) malloc(sizeof(void*)*256*256); + if(!table) + { + return table; + } memset(table,0,sizeof(void*)*256*256); } if(table[k][n]==0) diff --git a/main.cpp b/main.cpp index 0a2cab2..2c3528d 100644 --- a/main.cpp +++ b/main.cpp @@ -704,6 +704,7 @@ int client_event_loop() } delay_manager.check(); } + delete &conn_info; return 0; }