--- sdp.c.org 2004-02-23 02:56:03.667767736 +0000 +++ sdp.c 2004-02-23 03:15:48.787602136 +0000 @@ -324,6 +324,7 @@ printf("pat"); if (parse_de_hdr(frm, &n1) == SDP_DE_SEQ) { + len = frm->len; while (len - frm->len < n1 ) { if (parse_de_hdr(frm,&n2) == SDP_DE_UUID) { print_uuid(n2, frm); @@ -351,7 +352,8 @@ printf("aid(s)"); if (parse_de_hdr(frm, &n1) == SDP_DE_SEQ) { - while (len - frm->len <= n1 ) { + len = frm->len; + while (len - frm->len < n1 ) { /* Print AttributeID */ if (parse_de_hdr(frm, &n2) == SDP_DE_UINT) { switch(n2) { @@ -367,13 +369,13 @@ break; } } else { - printf("\nERROR: Unexpected syntax\n"); + printf("\nERROR: Unexpected syntax: (aid)\n"); raw_dump(level, frm); } } printf("\n"); } else { - printf("\nERROR: Unexpected syntax\n"); + printf("\nERROR: Unexpected syntax: (aid)\n"); raw_dump(level, frm); } } @@ -385,6 +387,7 @@ int len = frm->len; if (parse_de_hdr(frm, &n1) == SDP_DE_SEQ) { + len = frm->len; while (len - frm->len < n1 ) { /* Print AttributeID */ if ((parse_de_hdr(frm, &n2) == SDP_DE_UINT) && @@ -426,7 +429,7 @@ int cnt = 0; if (parse_de_hdr(frm, &n) == SDP_DE_SEQ) { - printf(" len 0x%x frm->len 0x%x n 0x%x\n", len, frm->len, n); + len = frm->len; while (len - frm->len < n ) { p_indent(level, 0); printf("srv rec #%d\n", cnt++);