tree c76fa9f1221fbbefd9e5675ccd7eb504c22a42ed
parent b77b99995f55a203f91b91747208a5bbfabd76ab
author Boris Zbarsky <bzbarsky@apple.com> 1727126296 -0400
committer GitHub <noreply@github.com> 1727126296 +0000
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJm8dsYCRC1aQ7uu5UhlAAATAUQAAqRfCasGxnTIvlroYVYPpQo
 qcAkYaAOErXOJlOBSqaiElYuAVrY6FZm60TOmH/65hoDKgQ1v3iC10zQLoj8DMc/
 mFruistORUXUWOvR5QMu9O8hpGVglTVPDBAM70uKs4FQVDdjpmo0w8zRVNKm/hS/
 RapSpefyRNY333jIM0kWMaxj9vM2+EW2j7cmBJ0WmPMCr8m8Jo1g2N4ehyCPrFcM
 VHwPBiwOFX/p7Jhr6/keGE00w3AboIvrjMPn3Ox9Qz5sXlJHcRL6PgqbrAVZeScI
 gX00fq3L3jqaac+NSL/9bSw5sVoP/5gItqRtYzgpiROoHn6whhOHkYZXghwVLQKk
 qsKMnDVMU/gGodADxIX0WKcftx21Rz7PmN2ZpHmBlKJ3RjNBoCopnk7lu4yHu6Dt
 1yGm+t8s7zH3AikX4aqueKeAFsV8Idvawk9aewyRFDVOH79LkmztLPrAe6yQ50m7
 tF/EiEWMkUiKjYKm5mdeyyryxJqv0WEjD/f15Kykg3w/M1fa+y3Rgkh1wstMr3EZ
 n8lJIZ7z/xGlNsU+5uleit4G3Cve5TxfO6qgrWocZv8Ew/U7kfNUyD/NZ6Z+V0Ca
 SNXJ2SUAMX3k077RkdTS0XUT54kjUGUTHqlokVkEfr8L7k/FSRugfb5D3py2743z
 Fvt+vMUCfiPRG1H547UO
 =XCyI
 -----END PGP SIGNATURE-----
 

Fix error handling in Darwin DNS-SD implementation to clean up properly. (#35725)

We had several codepaths where we could create a service ref but then do some
fallible operations before calling Add() on the context.  If those failed, they
would call Finalize() on the context, which would delete the context, but _not_
DNSServiceRefDeallocate() the service ref.

The fix is to make sure that:

1) All cases where we create a service ref successfully immediately set it on
   the context.
2) All context deletion goes through MdnsContexts::Delete, so that we make sure
   to clean up the service ref if there is one.