浏览代码

htable: safety checks for values replicated via dmq

Daniel-Constantin Mierla 6 年之前
父节点
当前提交
24c92c4f25
共有 1 个文件被更改,包括 11 次插入8 次删除
  1. 11 8
      src/modules/htable/ht_dmq.c

+ 11 - 8
src/modules/htable/ht_dmq.c

@@ -575,15 +575,18 @@ int ht_dmq_handle_sync(srjson_doc_t* jdoc) {
 			}
 			}
 		}
 		}
 
 
-		ht = ht_get_table(&htname);
-		if(ht==NULL) {
-			LM_WARN("unable to get table %.*s\n",
-					htname.len, (htname.s)?htname.s:"");
-		}
+		if(htname.s!=NULL && htname.len>0 && cname.s!=NULL
+				&& cname.len>0) {
+			ht = ht_get_table(&htname);
+			if(ht==NULL) {
+				LM_WARN("unable to get table %.*s\n",
+						htname.len, (htname.s)?htname.s:"");
+			}
 
 
-		if (ht_set_cell_ex(ht, &cname, type, &val, 0, expire - now) < 0) {
-			LM_WARN("unable to set cell %.*s in table %.*s\n",
-					cname.len, cname.s, ht->name.len, ht->name.s);
+			if (ht_set_cell_ex(ht, &cname, type, &val, 0, expire - now) < 0) {
+				LM_WARN("unable to set cell %.*s in table %.*s\n",
+						cname.len, cname.s, ht->name.len, ht->name.s);
+			}
 		}
 		}
 
 
 		cell = cell->next;
 		cell = cell->next;