cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (CB-13415) Importing corrupt images using the Camera plugin crashes the app
Date Fri, 26 Jan 2018 11:00:00 GMT

    [ https://issues.apache.org/jira/browse/CB-13415?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16340903#comment-16340903
] 

ASF GitHub Bot commented on CB-13415:
-------------------------------------

alpesh12 commented on a change in pull request #310: CB-13415 (iOS) Importing corrupt images
using the Camera plugin crashes the app
URL: https://github.com/apache/cordova-plugin-camera/pull/310#discussion_r164084053
 
 

 ##########
 File path: src/ios/CDVCamera.m
 ##########
 @@ -360,7 +361,22 @@ - (NSData*)processImage:(UIImage*)image info:(NSDictionary*)info options:(CDVPic
         {
             if ((options.allowsEditing == NO) && (options.targetSize.width <=
0) && (options.targetSize.height <= 0) && (options.correctOrientation ==
NO) && (([options.quality integerValue] == 100) || (options.sourceType != UIImagePickerControllerSourceTypeCamera))){
                 // use image unedited as requested , don't resize
-                data = UIImageJPEGRepresentation(image, 1.0);
+                  if(options.sourceType != UIImagePickerControllerSourceTypeCamera){
+                    NSURL *url = info[UIImagePickerControllerReferenceURL];
+                    PHFetchResult *result = [PHAsset fetchAssetsWithALAssetURLs:@[url] options:nil];
+                    PHAsset *asset = [result firstObject];
+                    if (asset) {
+                        PHImageManager *manager = [PHImageManager defaultManager];
+                        PHImageRequestOptions *option = [PHImageRequestOptions alloc];
+                        option.synchronous = true;
+                        [manager requestImageDataForAsset:asset options:option resultHandler:^(NSData
*imageData, NSString *dataUTI, UIImageOrientation orientation, NSDictionary *info) {
+                              data = imageData;
 
 Review comment:
   @shazron 
   Its default functionality from `PHFetchResult` lib to return data from block to function,
so it must be synchronous operation.
   Let me know if you have other reference or solution to solved this bug.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


> Importing corrupt images using the Camera plugin crashes the app
> ----------------------------------------------------------------
>
>                 Key: CB-13415
>                 URL: https://issues.apache.org/jira/browse/CB-13415
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: cordova-plugin-camera
>         Environment: Android: OS 7.0, Phone Model: Moto G5 Plus
> iOS: OS 10.1.1 (14B150)
>            Reporter: Shemrick Flannigan
>            Priority: Critical
>              Labels: android, camera, cameraui, ios
>
> ISSUE
> Importing corrupt images using the Camera plugin crashes the app
> Current Behavior
> # Importing a corrupt image using the Cordova Camera plugin crashes the Cordova app which
uses the plugin
> Expected Behavior
> # Importing a corrupt image using the Cordova Camera plugin:
> #* Throws an exception which can be caught by the Cordova app which uses the plugin
> #* Does not crash the Cordova app which uses the plugin
> #* Allows the Cordova app which uses the plugin to render a Toast error message relaying
the error
> # # Platforms affected
> #* Android
> #* iOS
> REFERENCES
> # [Sample corrupt image which crashes the app | https://www.dropbox.com/s/e7dz007svtvscbc/Corrupt_Image_4.7MB_13500x13500.D2.jpg?dl=0]
> # [Technique used to wrap the call in a Try/Catch block in a callable inner class to
prevent an app crash | https://stackoverflow.com/questions/19183174/phonegap-video-capture-crashes]

> ADDITIONAL INFORMATION
> # Importing corrupt images does not crash apps which do not use the Camera plugin, such
as:
> #* Yelp mobile app
> #* Slack mobile app



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@cordova.apache.org
For additional commands, e-mail: issues-help@cordova.apache.org


Mime
View raw message