Fix memory leak in upgrade_crypt_ftr
The structure crypt_persist_data was allocated, but never freed. Added free of allocated memory in normal and error case. Change-Id: I9aaa067e6f6501e8ce007f8659004b5dbcf2b246
This commit is contained in:
parent
f3b2637e06
commit
91064633ff
1 changed files with 2 additions and 0 deletions
|
@ -567,6 +567,7 @@ static void upgrade_crypt_ftr(int fd, struct crypt_mnt_ftr *crypt_ftr, off64_t o
|
|||
/* Need to initialize the persistent data area */
|
||||
if (lseek64(fd, pdata_offset, SEEK_SET) == -1) {
|
||||
SLOGE("Cannot seek to persisent data offset\n");
|
||||
free(pdata);
|
||||
return;
|
||||
}
|
||||
/* Write all zeros to the first copy, making it invalid */
|
||||
|
@ -581,6 +582,7 @@ static void upgrade_crypt_ftr(int fd, struct crypt_mnt_ftr *crypt_ftr, off64_t o
|
|||
crypt_ftr->persist_data_offset[0] = pdata_offset;
|
||||
crypt_ftr->persist_data_offset[1] = pdata_offset + CRYPT_PERSIST_DATA_SIZE;
|
||||
crypt_ftr->minor_version = 1;
|
||||
free(pdata);
|
||||
}
|
||||
|
||||
if ((crypt_ftr->major_version == 1) && (crypt_ftr->minor_version == 1)) {
|
||||
|
|
Loading…
Reference in a new issue