[
https://issues.apache.org/jira/browse/CB-7643?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14174620#comment-14174620
]
ASF subversion and git services commented on CB-7643:
-----------------------------------------------------
Commit 9a3b1085f22956d463d9a5732f3316214a4a1005 in cordova-ios's branch
refs/heads/master from [~samedi]
[ https://git-wip-us.apache.org/repos/asf?p=cordova-ios.git;h=9a3b108 ]
CB-7643 - made isValidCallbackId threadsafe
_callbackIdPattern was being changed on multiple threads which caused bad
access errors
Signed-off-by: Shazron Abdullah <[email protected]>
> sendPluginResult is not thread safe
> -----------------------------------
>
> Key: CB-7643
> URL: https://issues.apache.org/jira/browse/CB-7643
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 3.5.0
> Reporter: Richard Hermanson
> Assignee: Shazron Abdullah
> Fix For: 3.7.0
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> If _callbackIdPattern in CVDCommandDelegateImpl.m is set at the same time as
> it is used (in different threads) then there's an error thrown
> (EXC_BAD_ACCESS).
> More precisely when this line is run in one thread:
> _callbackIdPattern = [NSRegularExpression
> regularExpressionWithPattern:@"[^A-Za-z0-9._-]" options:0 error:&err];
> and this in another:
> if (([callbackId length] > 100) || [_callbackIdPattern
> firstMatchInString:callbackId options:0 range:NSMakeRange(0, [callbackId
> length])]) {
> The method is: - (BOOL)isValidCallbackId:(NSString *)callbackId
> This happens about every 10th time I start my application. I could surely
> solve this by not calling too quickly and repeatedly but this is still a bug
> and easily fixed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]