diff --git a/mbtk/mbtk_logd/syslog_read.c b/mbtk/mbtk_logd/syslog_read.c
index c52a6ee..8b84cde 100755
--- a/mbtk/mbtk_logd/syslog_read.c
+++ b/mbtk/mbtk_logd/syslog_read.c
@@ -127,12 +127,20 @@
     while(_filter)
     {
         int p = filter_char_to_pri(_filter->priority);
-        if(_filter->tag)
+        int len = strlen(_filter->tag);
+        if(len > 0)
         {
-            int len = strlen(_filter->tag);
-            // tag and priority
-            if(0 == memcmp(_filter->tag, tag, len) && ((pri < p) || (pri == p)))
-                return 0;
+            if(0 == memcmp(_filter->tag, tag, len))
+            {
+                if((pri < p) || (pri == p))
+                {
+                    return 0;
+                }
+                else
+                {
+                    return -1;
+                }
+           }
         }else{ // have no tag
             if(pri > p)
                 return -1;
@@ -148,7 +156,7 @@
 {
 	struct blob_attr *tb[__LOG_MAX];
 	struct stat s;
-	char buf[512];
+	char buf[512] = {'\0'};
 	uint32_t p;
 	char *str;
 	time_t t;
@@ -179,7 +187,8 @@
     if(filter_log && syslog_fileter_log(LOG_PRI(p), m, filter_log))
     {
         // printf("%s %d: fileter pri:%d tag:%s!\n", __FUNCTION__, __LINE__, p, m);
-        exit(-1);
+        return 0;
+        //exit(-1);
     }
 	if (log_type == LOG_NET) {
 		int err;
