mirror of
https://github.com/mtrojnar/osslsigncode.git
synced 2025-07-03 19:52:47 -05:00
Fixed unmap_file() segmentation fault
This commit is contained in:

committed by
Michał Trojnara

parent
0db17be606
commit
8a9b275494
4
cab.c
4
cab.c
@ -104,12 +104,12 @@ static FILE_FORMAT_CTX *cab_ctx_new(GLOBAL_OPTIONS *options, BIO *hash, BIO *out
|
|||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
if (memcmp(options->indata, "MSCF", 4)) {
|
if (memcmp(options->indata, "MSCF", 4)) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
cab_ctx = cab_ctx_get(options->indata, filesize);
|
cab_ctx = cab_ctx_get(options->indata, filesize);
|
||||||
if (!cab_ctx) {
|
if (!cab_ctx) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
||||||
|
4
cat.c
4
cat.c
@ -101,12 +101,12 @@ static FILE_FORMAT_CTX *cat_ctx_new(GLOBAL_OPTIONS *options, BIO *hash, BIO *out
|
|||||||
/* the maximum size of a supported cat file is (2^24 -1) bytes */
|
/* the maximum size of a supported cat file is (2^24 -1) bytes */
|
||||||
if (memcmp(options->indata + ((GET_UINT8_LE(options->indata+1) == 0x82) ? 4 : 5),
|
if (memcmp(options->indata + ((GET_UINT8_LE(options->indata+1) == 0x82) ? 4 : 5),
|
||||||
pkcs7_signed_data, sizeof pkcs7_signed_data)) {
|
pkcs7_signed_data, sizeof pkcs7_signed_data)) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
cat_ctx = cat_ctx_get(options->indata, filesize);
|
cat_ctx = cat_ctx_get(options->indata, filesize);
|
||||||
if (!cat_ctx) {
|
if (!cat_ctx) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
||||||
|
4
msi.c
4
msi.c
@ -290,12 +290,12 @@ static FILE_FORMAT_CTX *msi_ctx_new(GLOBAL_OPTIONS *options, BIO *hash, BIO *out
|
|||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
if (memcmp(options->indata, msi_magic, sizeof msi_magic)) {
|
if (memcmp(options->indata, msi_magic, sizeof msi_magic)) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
msi_ctx = msi_ctx_get(options->indata, filesize);
|
msi_ctx = msi_ctx_get(options->indata, filesize);
|
||||||
if (!msi_ctx) {
|
if (!msi_ctx) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
||||||
|
4
pe.c
4
pe.c
@ -112,12 +112,12 @@ static FILE_FORMAT_CTX *pe_ctx_new(GLOBAL_OPTIONS *options, BIO *hash, BIO *outd
|
|||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
if (memcmp(options->indata, "MZ", 2)) {
|
if (memcmp(options->indata, "MZ", 2)) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
pe_ctx = pe_ctx_get(options->indata, filesize);
|
pe_ctx = pe_ctx_get(options->indata, filesize);
|
||||||
if (!pe_ctx) {
|
if (!pe_ctx) {
|
||||||
unmap_file(options->infile, filesize);
|
unmap_file(options->indata, filesize);
|
||||||
return NULL; /* FAILED */
|
return NULL; /* FAILED */
|
||||||
}
|
}
|
||||||
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
ctx = OPENSSL_malloc(sizeof(FILE_FORMAT_CTX));
|
||||||
|
Reference in New Issue
Block a user