diff --git a/mbtk/mbtk_logd/main.c b/mbtk/mbtk_logd/main.c
index ee3d49e..71bc1f6 100755
--- a/mbtk/mbtk_logd/main.c
+++ b/mbtk/mbtk_logd/main.c
@@ -33,6 +33,7 @@
 
 
 #define    MAX_BUFFER_SIZE (8*1024)
+#define    MAX_SLEEP_TIME 2147483647
 
 int tmp_syslog_fd = -1;
 int tmp_rd_fd = -1;
@@ -73,9 +74,9 @@
     for (i = 0; i < 5; i++) {
         entry = listdata + i;
         if (entry->name) {
-            free(entry->name);
+            //free(entry->name);
             if (entry->out_path) {
-                free(entry->out_path);
+                //free(entry->out_path);
             }
             if (entry->ip) {
                 free(entry->ip);
@@ -85,7 +86,7 @@
                 printf("%s %d: malloc %p!\n", __FUNCTION__, __LINE__, _filter_list);
                 if (_filter_list) {
                     printf("%s %d: malloc %p!\n", __FUNCTION__, __LINE__, _filter_list->next);
-                    if (_filter_list->tag) {
+                    if (_filter_list->tag && _filter_list->tag[0] != '\0') {
                         free(_filter_list->tag);
                     }
                     free(_filter_list);
@@ -340,6 +341,6 @@
         }
     }
     handler_free(listdata);
-
+    sleep(MAX_SLEEP_TIME);
     return 0;
 }
