Quellcode durchsuchen

dialog(k): safety check for callid parameter in mi commands

- if not provided properly, it may result in crash
- reported by Ricardo Martinez
(cherry picked from commit 8acb59ee4de31ab76763a021acaf7b5a13e02f23)
Daniel-Constantin Mierla vor 12 Jahren
Ursprung
Commit
07a7b98cea
1 geänderte Dateien mit 2 neuen und 0 gelöschten Zeilen
  1. 2 0
      modules_k/dialog/dlg_hash.c

+ 2 - 0
modules_k/dialog/dlg_hash.c

@@ -1042,6 +1042,8 @@ static inline struct mi_root* process_mi_params(struct mi_root *cmd_tree,
 
 	/* we have params -> get callid and fromtag */
 	callid = &node->value;
+	if(callid->s==NULL || callid->len<=0)
+		return init_mi_tree(400, MI_SSTR(MI_MISSING_PARM));
 	LM_DBG("callid='%.*s'\n", callid->len, callid->s);
 
 	node = node->next;