]> git.baikalelectronics.ru Git - kernel.git/commit
sign-file: Fix inplace signing when src and dst names are both specified
authorAlex Yashchenko <alexhoppus111@gmail.com>
Tue, 13 Dec 2016 09:26:25 +0000 (09:26 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Wed, 14 Dec 2016 10:33:14 +0000 (18:33 +0800)
commitd4aa7d964d287e6678f4c8cd355ae4f257374196
treeb0079dc0efd34a5b56b992a1d32383f38ed2857a
parentd32f070e665f2735a3de81b556b0c7f2b54b7c27
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>
scripts/sign-file.c