Skip to content

Commit d76ac2a

Browse files
committed
Fixing bug in setReceiveFilter:: - forgot to release previously set ivars.
1 parent b4a8ebd commit d76ac2a

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

GCD/GCDAsyncUdpSocket.m

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3957,7 +3957,7 @@ - (void)setReceiveFilter:(GCDAsyncUdpSocketReceiveFilterBlock)inFilterBlock with
39573957
{
39583958
NSAssert(inFilterQueue, @"Must provide a dispatch_queue in which to run the filter block.");
39593959

3960-
newFilterBlock = Block_copy(inFilterBlock);
3960+
newFilterBlock = [inFilterBlock copy];
39613961
newFilterQueue = inFilterQueue;
39623962
dispatch_retain(newFilterQueue);
39633963
}
@@ -3969,6 +3969,12 @@ - (void)setReceiveFilter:(GCDAsyncUdpSocketReceiveFilterBlock)inFilterBlock with
39693969

39703970
dispatch_block_t block = ^{
39713971

3972+
if (filterBlock)
3973+
[filterBlock release];
3974+
3975+
if (filterQueue)
3976+
dispatch_release(filterQueue);
3977+
39723978
filterBlock = newFilterBlock;
39733979
filterQueue = newFilterQueue;
39743980
};

0 commit comments

Comments
 (0)