diff --git a/lib/sdp.c b/lib/sdp.c
index 9c1eeb5..782d9bd 100644
--- a/lib/sdp.c
+++ b/lib/sdp.c
void sdp_record_print(const sdp_record_t *rec)
{
sdp_data_t *d = sdp_data_get(rec, SDP_ATTR_SVCNAME_PRIMARY);
- if (d)
+ if (d && SDP_IS_TEXT_STR(d->dtd))
printf("Service Name: %.*s\n", d->unitSize, d->val.str);
d = sdp_data_get(rec, SDP_ATTR_SVCDESC_PRIMARY);
- if (d)
+ if (d && SDP_IS_TEXT_STR(d->dtd))
printf("Service Description: %.*s\n", d->unitSize, d->val.str);
d = sdp_data_get(rec, SDP_ATTR_PROVNAME_PRIMARY);
- if (d)
+ if (d && SDP_IS_TEXT_STR(d->dtd))
printf("Service Provider: %.*s\n", d->unitSize, d->val.str);
}