Kaynağa Gözat

Merge pull request #47 from Carmot/master

Minor memory issues fixed.
wangyu- 8 yıl önce
ebeveyn
işleme
d6e445f220
3 değiştirilmiş dosya ile 10 ekleme ve 1 silme
  1. 5 1
      delay_manager.cpp
  2. 4 0
      lib/rs.c
  3. 1 0
      main.cpp

+ 5 - 1
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_warn, "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();

+ 4 - 0
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)

+ 1 - 0
main.cpp

@@ -704,6 +704,7 @@ int client_event_loop()
 		}
 		delay_manager.check();
 	}
+	delete &conn_info;
 	return 0;
 }