Skip to content

Commit f3e288a

Browse files
authored
Merge pull request swiftlang#72128 from hamishknight/fix-leak
[SourceKit] Fix an `xpc_object` leak
2 parents d66eeae + 09052c5 commit f3e288a

File tree

1 file changed

+3
-0
lines changed

1 file changed

+3
-0
lines changed

tools/SourceKit/tools/sourcekitd/bin/XPC/Service/XPCService.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,13 +308,16 @@ static void sourcekitdServer_peer_event_handler(xpc_connection_t peer,
308308
dispatch_async(dispatch_get_global_queue(QOS_CLASS_USER_INITIATED, 0), ^{
309309
sourcekitd::cancelRequest(/*CancellationToken=*/cancelToken);
310310
});
311+
xpc_release(event);
311312
} else if (SourceKitCancellationToken cancelToken =
312313
reinterpret_cast<SourceKitCancellationToken>(
313314
xpc_dictionary_get_uint64(
314315
event, xpc::KeyDisposeRequestHandle))) {
315316
sourcekitd::disposeCancellationToken(/*CancellationToken=*/cancelToken);
317+
xpc_release(event);
316318
} else {
317319
assert(false && "unexpected message");
320+
xpc_release(event);
318321
}
319322
});
320323
}

0 commit comments

Comments
 (0)