OSDN Git Service

ANDROID: dm: android-verity: fix table_make_digest() error handling
authorGreg Hackmann <ghackmann@google.com>
Mon, 14 Nov 2016 17:48:02 +0000 (09:48 -0800)
committerGreg Hackmann <ghackmann@google.com>
Thu, 2 Mar 2017 21:16:57 +0000 (13:16 -0800)
If table_make_digest() fails, verify_verity_signature() would try to
pass the returned ERR_PTR() to kfree().

This fixes the smatch error:

drivers/md/dm-android-verity.c:601 verify_verity_signature() error: 'pks' dereferencing possible ERR_PTR()

Change-Id: I9b9b7764b538cb4a5f94337660e9b0f149b139be
Signed-off-by: Greg Hackmann <ghackmann@google.com>
drivers/md/dm-android-verity.c

index bb6c128..ec0a4d1 100644 (file)
@@ -585,6 +585,8 @@ static int verify_verity_signature(char *key_id,
 
        if (IS_ERR(pks)) {
                DMERR("hashing failed");
+               retval = PTR_ERR(pks);
+               pks = NULL;
                goto error;
        }