diff options
author | Doug Zongker <dougz@android.com> | 2010-01-28 16:47:20 -0800 |
---|---|---|
committer | Doug Zongker <dougz@android.com> | 2010-01-28 16:51:00 -0800 |
commit | aa062531aa3e740b6cf7d3690fd5310e7fdf03f2 (patch) | |
tree | 6d189c02c973650a0ad4dbb33e0d5b3504d68c60 /install.c | |
parent | 687bc12ccfbda26ad134b27d09d1d70a2b8705a6 (diff) | |
download | bootable_recovery-aa062531aa3e740b6cf7d3690fd5310e7fdf03f2.zip bootable_recovery-aa062531aa3e740b6cf7d3690fd5310e7fdf03f2.tar.gz bootable_recovery-aa062531aa3e740b6cf7d3690fd5310e7fdf03f2.tar.bz2 |
fix parsing of dumpkeys output
%i can't be used to read unsigned ints (though it happens to work with
bionic). Change to %x and %u as appropriate.
Change-Id: I8ea9ca16a939501757cf70fc5953abee26c8231c
http://b/2402231 - Parser for /res/keys interprets n0inv as a signed int
Diffstat (limited to 'install.c')
-rw-r--r-- | install.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -275,7 +275,7 @@ load_keys(const char* filename, int* numKeys) { ++*numKeys; out = realloc(out, *numKeys * sizeof(RSAPublicKey)); RSAPublicKey* key = out + (*numKeys - 1); - if (fscanf(f, " { %i , %i , { %i", + if (fscanf(f, " { %i , 0x%x , { %u", &(key->len), &(key->n0inv), &(key->n[0])) != 3) { goto exit; } @@ -284,11 +284,11 @@ load_keys(const char* filename, int* numKeys) { goto exit; } for (i = 1; i < key->len; ++i) { - if (fscanf(f, " , %i", &(key->n[i])) != 1) goto exit; + if (fscanf(f, " , %u", &(key->n[i])) != 1) goto exit; } - if (fscanf(f, " } , { %i", &(key->rr[0])) != 1) goto exit; + if (fscanf(f, " } , { %u", &(key->rr[0])) != 1) goto exit; for (i = 1; i < key->len; ++i) { - if (fscanf(f, " , %i", &(key->rr[i])) != 1) goto exit; + if (fscanf(f, " , %u", &(key->rr[i])) != 1) goto exit; } fscanf(f, " } } "); |