void sdp_attr_replace(sdp_record_t *rec, uint16_t attr, sdp_data_t *d)
{
- sdp_data_t *p = sdp_data_get(rec, attr);
+ sdp_data_t *p;
+
+ if (!rec)
+ return;
+ p = sdp_data_get(rec, attr);
if (p) {
rec->attrlist = sdp_list_remove(rec->attrlist, p);
sdp_data_free(p);
sdp_data_t *sdp_data_get(const sdp_record_t *rec, uint16_t attrId)
{
- if (rec->attrlist) {
+ if (rec && rec->attrlist) {
sdp_data_t sdpTemplate;
sdp_list_t *p;
length = 0;
break;
default:
+ sdp_list_free(subseq, free);
goto fail;
}