diff --git a/lib/sdp.c b/lib/sdp.c
index 532039a..a27cd3a 100644
--- a/lib/sdp.c
+++ b/lib/sdp.c
/* add service class IDs for search */
seqlen = gen_searchseq_pdu(pdata, search);
+ if (seqlen < 0) {
+ errno = EINVAL;
+ status = -1;
+ goto end;
+ }
+
SDPDBG("Data seq added : %d", seqlen);
/* set the length and increment the pointer */
/* add service class IDs for search */
seqlen = gen_searchseq_pdu(pdata, search);
+ if (seqlen < 0) {
+ t->err = EINVAL;
+ goto end;
+ }
+
SDPDBG("Data seq added : %d", seqlen);
/* now set the length and increment the pointer */
/* add service class IDs for search */
seqlen = gen_searchseq_pdu(pdata, search);
+ if (seqlen < 0) {
+ t->err = EINVAL;
+ goto end;
+ }
+
SDPDBG("Data seq added : %d", seqlen);
/* now set the length and increment the pointer */