- source_address=(tptr+1);
- TCHECK2(*source_address, source_address_length);
- printf("\n\t NSAP address (length %u): %s",
- source_address_length,
- isonsap_string(source_address, source_address_length));
+ if (tlen < source_address_length+1) {
+ printf("\n\t NSAP address goes past end of option");
+ break;
+ }
+ if (source_address_length > 0) {
+ source_address=(tptr+1);
+ TCHECK2(*source_address, source_address_length);
+ printf("\n\t NSAP address (length %u): %s",
+ source_address_length,
+ isonsap_string(source_address, source_address_length));
+ }