Index: src/sfp.c =================================================================== RCS file: /cvsroot/partysip/partysip/src/sfp.c,v retrieving revision 1.16 diff -u -3 -r1.16 sfp.c --- src/sfp.c 10 Sep 2002 14:38:25 -0000 1.16 +++ src/sfp.c 11 Sep 2002 06:29:16 -0000 @@ -863,21 +863,23 @@ OSIP_TRACE (osip_trace (__FILE__, __LINE__, OSIP_INFO2, NULL, "slp module: Request has expired! Searching for a final answer!\n")); - for (br = req->rsp_ctx->branches; br != NULL; br = br->next) - { - if (br->response != NULL && MSG_IS_STATUS_2XX (br->response)) - { - ptr = br; - break; - } else if (br->response != NULL && !MSG_IS_STATUS_1XX (br->response)) - { - if (ptr == NULL) + if (req->rsp_ctx != NULL && req->rsp_ctx->branches != NULL) + for (br = req->rsp_ctx->branches; br != NULL; br = br->next) + { + if (br->response != NULL && MSG_IS_STATUS_2XX (br->response)) + { ptr = br; - else if (0 < strcmp (ptr->response->strtline->statuscode, - br->response->strtline->statuscode)) - ptr = br; /* better response */ - } - } + break; + } else if (br->response != NULL + && !MSG_IS_STATUS_1XX (br->response)) + { + if (ptr == NULL) + ptr = br; + else if (0 < strcmp (ptr->response->strtline->statuscode, + br->response->strtline->statuscode)) + ptr = br; /* better response */ + } + } if (ptr != NULL) /* one final answer has been received. We forward it */ { sip_t *responsexxx;