gsup: encode_pdp_info(): fix wrong pdp_address index
The `PDP_TYPE_N_IETF_IPv4v6` case encodes two addresses: IPv4 from `pdp_address[0]` and IPv6 from `pdp_address[1]`. The IPv4 part is encoded correctly, but the IPv6 part checks the wrong index.
The decoder decode_pdp_address() correctly puts the IPv4 address in `pdp_address[0]` and the IPv6 address in `pdp_address[1]`. Because `pdp_address[0].sa_family` is `AF_INET` (not `AF_INET6`), the second condition is always false in a proper dual-stack context, so the IPv6 part is silently dropped from every outgoing dual-stack GSUP message.
`addrinfo_helper()` internally calls `getaddrinfo()`, whose result must be freed with `freeaddrinfo()`. On the size-check error path the function returns early without freeing. Fix this.