android icon indicating copy to clipboard operation
android copied to clipboard

NULL POINTER at line number

Open himanshukj opened this issue 8 months ago • 0 comments

Please agree to the following

Summary

We have null pointer when we click on cloud vault that will created after clicked on Import button of tool bar in VaultListActivity line number - 273

System Setup

- Android: [Version shown in the settings of Android"]
- Cryptomator: [Version shown in the settings of Cryptomator]
- …

Cloud Type

Local storage

Steps to Reproduce

1- switch to branch feature/fix_build 2- Click on bottom plus button + (floating Action Button) 3- create new vault and select local storage Note you can use this vault easy and create files in this manual created vault.

issue start with cloud vault that we import via API 4 -click on top IMPORT button on toolbar - button slightly left to 3 dot overflow button. 5- after open vault with password (Hoang!@#a) 6- you will get null pointer and toast message you see as = An error occurred

that should not happed user should able to use the math (cloud vault as manually created vault )

Note : folders in local file manager you can check also created for math vault.

Findings A = this can be permission issue with folder B = Getting null pointer at line number 132 of CryptoImplVaultFormat7 with uri getting null .

Image

Expected Behavior

Math vault can be usable as manual create vault

Actual Behavior

Getting null pointer and showing toast as = An error occurred some time getting - Cryptomator has lost permission to access this location. Please select this folder again to restore the permission.

Image Image

Another findings Its really A Permission case actually we have two vault and with two directory but in app info only showing external storage permission only for 1 item that is created manually.

Image

Image

Image

Reproducibility

Always

Relevant Log Output

NOTE - Please check findings class names etc as  below I have not shared logs. 

We can create math vault from import button on toolbar of VaultListActivity then function called at line number  - 273 of VaultListActivity.
math vault password - Hoang!@#a
------------------------------------------------------------

We have null pointer when click on math vault
class LocalStorageAccessFrameworkImpl  line number 169 
method name 
fun list(folder: LocalStorageAccessFolder): List<LocalStorageAccessNode> {...}



class CryptoImplVaultFormat7
here you can find two JSON of CryptoFolder Class 
method override fun list(cryptoFolder: CryptoFolder): List<CryptoNode> { ... } 
line number 132 of CryptoImplVaultFormat7

Manually create Vault

{
    "documentId": "primary:Testcloud/valut11/d/AJ/UISNWNDORCCNBYVUESIBWMKNCIYBW3",
    "documentUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud/document/primary%3ATestcloud%2Fvalut11%2Fd%2FAJ%2FUISNWNDORCCNBYVUESIBWMKNCIYBW3",
    "name": "UISNWNDORCCNBYVUESIBWMKNCIYBW3",
    "parent": {
        "documentId": "primary:Testcloud/valut11/d/AJ",
        "documentUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud/document/primary%3ATestcloud%2Fvalut11%2Fd%2FAJ",
        "name": "AJ",
        "parent": {
            "documentId": "primary:Testcloud/valut11/d",
            "documentUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud/document/primary%3ATestcloud%2Fvalut11%2Fd",
            "name": "d",
            "parent": {
                "documentId": "primary:Testcloud/valut11",
                "documentUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud/document/primary%3ATestcloud%2Fvalut11",
                "name": "valut11",
                "parent": {
                    "localStorageCloud": {
                        "id": 5,
                        "rootUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud"
                    },
                    "documentId": "primary:Testcloud",
                    "documentUri": "content://com.android.externalstorage.documents/tree/primary%3ATestcloud/document/primary%3ATestcloud/children",
                    "name": "",
                    "path": ""
                },
                "path": "/valut11"
            },
            "path": "/valut11/d"
        },
        "path": "/valut11/d/AJ"
    },
    "path": "/valut11/d/AJ/UISNWNDORCCNBYVUESIBWMKNCIYBW3"
}

NOTE : few variabls mission in math vault
Cloud Vault - Math 
{
    "name": "ZU4KPUYH44W4JCPCLQKDKVHOORXBAS",
    "parent": {
        "name": "RF",
        "parent": {
            "name": "d",
            "parent": {
                "documentId": "primary:Upwork-sample/math",
                "documentUri": "content://com.android.externalstorage.documents/tree/primary%3AUpwork-sample/document/primary%3AUpwork-sample%2Fmath%2FZU4KPUYH44W4JCPCLQKDKVHOORXBAS",
                "name": "math",
                "parent": {
                    "localStorageCloud": {
                        "id": 4,
                        "rootUri": "content://com.android.externalstorage.documents/tree/primary%3AUpwork-sample"
                    },
                    "documentId": "primary:Upwork-sample",
                    "documentUri": "content://com.android.externalstorage.documents/tree/primary%3AUpwork-sample/document/primary%3AUpwork-sample/children",
                    "name": "",
                    "path": ""
                },
                "path": "/math"
            },
            "path": "/math/d"
        },
        "path": "/math/d/RF"
    },
    "path": "/math/d/RF/ZU4KPUYH44W4JCPCLQKDKVHOORXBAS"
}

Anything else?

himanshukj avatar May 14 '25 19:05 himanshukj