mirror of https://gitee.com/openkylin/linux.git
sign-file: Fix inplace signing when src and dst names are both specified
When src and dst both are specified and they point to the same file the sign-file utility will write only signature to the dst file and the module (.ko file) body will not be written. That happens because we open the same file with "rb" and "wb" flags, from fopen man: w Truncate file to zero length or create text file for writing. The stream is positioned at the beginning of the file. ... bm = BIO_new_file(module_name, "rb"); ... bd = BIO_new_file(dest_name, "wb"); ... while ((n = BIO_read(bm, buf, sizeof(buf))), n > 0) { ERR(BIO_write(bd, buf, n) < 0, "%s", dest_name); } ... Signed-off-by: Alex Yashchenko <alexhoppus111@gmail.com> Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
parent
fbb726302a
commit
efcae7c931
|
@ -267,7 +267,7 @@ int main(int argc, char **argv)
|
|||
}
|
||||
x509_name = argv[2];
|
||||
module_name = argv[3];
|
||||
if (argc == 5) {
|
||||
if (argc == 5 && strcmp(argv[3], argv[4]) != 0) {
|
||||
dest_name = argv[4];
|
||||
replace_orig = false;
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue