Commit 7b51667d authored by Nick Mathewson's avatar Nick Mathewson 🦀
Browse files

Merge remote-tracking branch 'origin/maint-0.2.5'

parents b2663298 b08cfc65
Loading
Loading
Loading
Loading
+7 −0
Original line number Original line Diff line number Diff line
  o Minor bugfixes (client):
    - Check for a missing option value in parse_virtual_addr_network
      before asserting on the NULL in tor_addr_parse_mask_ports.
      This avoids crashing on torrc lines like
      Vi[rtualAddrNetworkIPv[4|6]] when no value follows the option.
      Bugfix on 0.2.3 (de4cc126cbb5 on 24 November 2012), fixes #14142.
      Patch by "teor".
+6 −0
Original line number Original line Diff line number Diff line
@@ -744,6 +744,12 @@ parse_virtual_addr_network(const char *val, sa_family_t family,
  const int max_bits = ipv6 ? 40 : 16;
  const int max_bits = ipv6 ? 40 : 16;
  virtual_addr_conf_t *conf = ipv6 ? &virtaddr_conf_ipv6 : &virtaddr_conf_ipv4;
  virtual_addr_conf_t *conf = ipv6 ? &virtaddr_conf_ipv6 : &virtaddr_conf_ipv4;


  if (!val || val[0] == '\0') {
    if (msg)
      tor_asprintf(msg, "Value not present (%s) after VirtualAddressNetwork%s",
                   val?"Empty":"NULL", ipv6?"IPv6":"");
    return -1;
  }
  if (tor_addr_parse_mask_ports(val, 0, &addr, &bits, NULL, NULL) < 0) {
  if (tor_addr_parse_mask_ports(val, 0, &addr, &bits, NULL, NULL) < 0) {
    if (msg)
    if (msg)
      tor_asprintf(msg, "Error parsing VirtualAddressNetwork%s %s",
      tor_asprintf(msg, "Error parsing VirtualAddressNetwork%s %s",