Merge commit from fork

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
pull/1865/head
Pavel Punsky 4 weeks ago committed by GitHub
parent 33f7bf406c
commit eaa9e7920e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 16
      src/client/ns_turn_msg.c

@ -1282,21 +1282,27 @@ turn_time_t stun_adjust_allocate_lifetime(turn_time_t lifetime, turn_time_t max_
int stun_attr_get_type(stun_attr_ref attr) {
if (attr) {
return (int)(nswap16(((const uint16_t *)attr)[0]));
uint16_t val;
memcpy(&val, attr, sizeof(val));
return (int)(nswap16(val));
}
return -1;
}
int stun_attr_get_len(stun_attr_ref attr) {
if (attr) {
return (int)(nswap16(((const uint16_t *)attr)[1]));
uint16_t val;
memcpy(&val, attr + 2, sizeof(val));
return (int)(nswap16(val));
}
return -1;
}
const uint8_t *stun_attr_get_value(stun_attr_ref attr) {
if (attr) {
const int len = (int)(nswap16(((const uint16_t *)attr)[1]));
uint16_t val;
memcpy(&val, attr + 2, sizeof(val));
const int len = (int)(nswap16(val));
if (len < 1) {
return NULL;
}
@ -1307,7 +1313,9 @@ const uint8_t *stun_attr_get_value(stun_attr_ref attr) {
int stun_get_requested_address_family(stun_attr_ref attr) {
if (attr) {
const int len = (int)(nswap16(((const uint16_t *)attr)[1]));
uint16_t raw_len;
memcpy(&raw_len, attr + 2, sizeof(raw_len));
const int len = (int)(nswap16(raw_len));
if (len != 4) {
return STUN_ATTRIBUTE_REQUESTED_ADDRESS_FAMILY_VALUE_INVALID;
}

Loading…
Cancel
Save