Bug 1324995: null pointer after freeing. r?bwc
MozReview-Commit-ID: GJ6PQHU5nU
--- a/media/mtransport/third_party/nICEr/src/stun/addrs.c
+++ b/media/mtransport/third_party/nICEr/src/stun/addrs.c
@@ -172,16 +172,17 @@ stun_get_win32_addrs(nr_local_addr addrs
}
r = GetAdaptersAddresses(AF_UNSPEC, GAA_FLAG_SKIP_MULTICAST | GAA_FLAG_SKIP_DNS_SERVER, NULL, AdapterAddresses, &buflen);
if (r == NO_ERROR) {
break;
}
r_log(NR_LOG_STUN, LOG_ERR, "GetAdaptersAddresses() returned error (%d)", r);
RFREE(AdapterAddresses);
+ AdapterAddresses = NULL;
}
if (n >= 5) {
r_log(NR_LOG_STUN, LOG_ERR, "5 failures calling GetAdaptersAddresses()");
ABORT(R_INTERNAL);
}
n = 0;
@@ -238,19 +239,17 @@ stun_get_win32_addrs(nr_local_addr addrs
}
}
done:
*count = n;
_status = 0;
abort:
- if (AdapterAddresses) {
- RFREE(AdapterAddresses);
- }
+ RFREE(AdapterAddresses);
return _status;
}
#else /* WIN32 */
static int
nr_stun_is_duplicate_addr(nr_local_addr addrs[], int count, nr_local_addr *addr);