Download Latest Version 1.34.8 source code.zip (937.8 kB)
Email in envelope

Get an email when there's a new version of C-ARES

Home / v1.34.7
Name Modified Size InfoDownloads / Week
Parent folder
c-ares-1.34.7.tar.gz.asc 2026-07-06 265 Bytes
c-ares-1.34.7.intoto.jsonl 2026-07-06 16.0 kB
c-ares-1.34.7.tar.gz 2026-07-06 1.0 MB
1.34.7 source code.tar.gz 2026-07-06 606.2 kB
1.34.7 source code.zip 2026-07-06 936.4 kB
README.md 2026-07-06 8.8 kB
Totals: 6 Items   2.6 MB 0

c-ares version 1.34.7 - July 6 2026

This is a security release.

Security:

Changes:

  • ares_getaddrinfo(): handle a NULL node per POSIX and implement ARES_AI_PASSIVE. PR [#1186]
  • Mark parameters in callbacks as const. PR [#1060]
  • Correct ARES_CLASS_HESOID misspelling to ARES_CLASS_HESIOD. PR [#1092]

Bugfixes:

  • Fix sticky server recovery when all servers have failures. PR [#1192]
  • Fix UDP socket exhaustion regression: retire connections per-connection, not via server failure count. PR [#1197]
  • Guard DNS record binary length overflow. PR [#1168]
  • Prevent integer overflow in allocation size calculations. PR [#1147]
  • Prevent overflow in ares_array allocation size calculations. PR [#1117]
  • Prevent integer overflow in buffer size calculation. PR [#1116]
  • Add overflow checks to ares_buf_ensure_space(). PR [#1094]
  • Skip name compression offsets beyond the 14-bit pointer limit. PR [#1159]
  • ares_dns_parse: reject name compression in RDATA where not permitted (RFC 3597). PR [#1190]
  • ares_dns_parse: reject responses with more than one OPT record (RFC 6891). PR [#1189]
  • Discard oversized UDP datagrams instead of truncating the length frame. PR [#1161]
  • Route numeric config parsing through range-checked ares_str_parse_uint. PR [#1158]
  • Replace atoi-based port parsing with validated helper. PR [#1097]
  • Defer TCP connection error handling until DNS responses are parsed. PR [#1138]
  • Prevent undefined-behavior left shift in ares_calc_query_timeout(). PR [#1151]
  • Use unsigned type for ares_round_up_pow2_u64 to avoid undefined behavior. PR [#1107]
  • Fix undefined behavior in ares_buf_replace() pointer arithmetic. PR [#1099]
  • ares_array: reset offset when array becomes empty. PR [#1165]
  • ares_iface_ips: add ARES_IFACE_IP_NONE zero enum value. PR [#1187]
  • ares_sysconfig_files: recognize AIX netsvc.conf bind4/local4 tokens. PR [#1188]
  • Use safe string construction in Windows sysconfig join path. PR [#1143]
  • Fix zero-length RAW_RR losing type metadata during parsing. PR [#1129]
  • Fix RAW_RR type tostr/fromstr roundtrip mismatch. PR [#1123]
  • Fix NULL dereference for ifa netmask. PR [#1120]
  • adig: fix negated option prefix parsing. PR [#1135]
  • Use UnregisterWaitEx to prevent use-after-free on Win32. PR [#1111]
  • Add NULL check after ares_malloc_zero in Windows UTF8 conversion. PR [#1121]
  • Fix NULL dereference after ares_malloc_zero in Win32 IOCP event add. PR [#1132]
  • Fix microsecond overflow in ares_queue_wait_empty timeout. PR [#1122]
  • Fix NULL dereference in ares_buf_replace() on NULL buf. PR [#1124]
  • Initialize *read_bytes in ares_socket_recvfrom(). PR [#1125]
  • Fix memory leak of binbuf in ares_buf_parse_dns_binstr_int. PR [#1126]
  • Fix memory leak of qcache entry on key allocation failure. PR [#1127]
  • Fix memory leak of buf in ares_dns_multistring_combined() on OOM. PR [#1110]
  • Fix memory leaks on error paths in two functions. PR [#1109]
  • Fix memory leak of buckets in ares_htable_dict_keys() error path. PR [#1108]
  • Fix memory leak of bucket->key in ares_htable_dict_insert error path. PR [#1105]
  • Fix additional memory leaks. PR [#1091] PR [#1078]
  • Prevent corrupt addrinfo nodes on sockaddr allocation failure. PR [#1112]
  • Fix two logic bugs in DNS cookie handling. PR [#1103]
  • Fix linked list INSERT_BEFORE corruption and array insertdata_first ordering. PR [#1101]
  • Fix HASH_IDX macro missing parentheses. PR [#1128]
  • Fix malloc(0) in ares_htable_all_buckets on empty table. PR [#1131]
  • Fix wrong sizeof in QNX confstr() call truncating domain names. PR [#1130]
  • Clear probe pending flag after timeout. PR [#1059]
  • Fix incorrect check for empty wide string. PR [#1064]
  • Handle strdup failure. PR [#1077]
  • doc: reference ares_free_string(), not ares_free(). PR [#1084]

Thanks go to these friendly people for their efforts and contributions for this release:

  • (@Alb3e3)
  • Brad House (@bradh352)
  • (@dankmeme01)
  • David Hotham (@dimbleby)
  • Tom Flynn (@Flynnzaa)
  • (@jmestwa-coder)
  • (@kodareef5)
  • Kaixuan Li (@MarkLee131)
  • (@lifenjoiner)
  • (@metsw24-max)
  • Song Li (@SongTonyLi)
  • (@uwezkhan)

c-ares version 1.34.6 - December 8 2025

This is a security release.

Security:

Changes:

  • Ignore Windows IDN Search Domains until proper IDN support is added. PR [#1034]

Bugfixes:

  • Event Thread could stall when not notified of new queries on existing connections that are in a bad state PR [#1032]
  • fix conversion of invalid service to port number in ares_getaddrinfo() PR [#1029]
  • fix memory leak in ares_uri PR [#1012]
  • Ignore ares_event_configchg_init failures PR [#1009]
  • Use XOR for random seed generation on fallback logic. PR [#994]
  • Fix clang build on windows. PR [#996]
  • Fix IPv6 link-local nameservers in /etc/resolv.conf PR [#996]
  • Fix a few build issues on MidnightBSD. PR [#983]

Thanks go to these friendly people for their efforts and contributions for this release:

  • Brad House (@bradh352)
  • (@F3lixTheCat)
  • Lucas Holt (@laffer1)
  • @oargon
  • Pavel P (@pps83)
  • Sean Harmer (@seanharmer)
  • Uwe (@nixblik)
Source: README.md, updated 2026-07-06