|
@@ -970,7 +970,29 @@ static inline int parse_dlg_rr_param(char *p, char *end, int *h_entry, int *h_id
|
|
{
|
|
{
|
|
char *s;
|
|
char *s;
|
|
|
|
|
|
|
|
+ /* sanity checks */
|
|
|
|
+ if (!p) {
|
|
|
|
+ LM_ERR("NULL start of parameter string");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!end) {
|
|
|
|
+ LM_ERR("NULL end of parameter string");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!h_entry) {
|
|
|
|
+ LM_ERR("NULL h_entry");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (!h_id) {
|
|
|
|
+ LM_ERR("NULL h_id");
|
|
|
|
+ return -1;
|
|
|
|
+ }
|
|
|
|
+
|
|
for ( s=p ; p<end && *p!=DLG_SEPARATOR ; p++ );
|
|
for ( s=p ; p<end && *p!=DLG_SEPARATOR ; p++ );
|
|
|
|
+
|
|
if (*p!=DLG_SEPARATOR) {
|
|
if (*p!=DLG_SEPARATOR) {
|
|
LM_ERR("malformed rr param '%.*s'\n", (int)(long)(end-s), s);
|
|
LM_ERR("malformed rr param '%.*s'\n", (int)(long)(end-s), s);
|
|
return -1;
|
|
return -1;
|