if (seg_size == 0)  return AS_ERR_BAD;
aspath_verify(void *data, u_int16_t len, u_int16_t myAS){	u_int8_t	*seg = data;	u_int16_t	 seg_size;	u_int8_t	 i, seg_len, seg_type;	for (; len > 0; len -= seg_size, seg += seg_size) {		seg_type = seg[0];		seg_len = seg[1];		if (seg_type != AS_SET && seg_type != AS_SEQUENCE) {			return AS_ERR_TYPE;		}		seg_size = 2 + 2 * seg_len;		if (seg_size > len)			return AS_ERR_LEN;		for (i = 0; i < seg_len; i++) {			if (myAS == aspath_extract(seg, i))				return AS_ERR_LOOP;		}	}	return 0;	/* all OK */}