mirror of
https://github.com/git/git.git
synced 2026-08-08 17:11:48 +00:00
hash: initialize context before cloning
Our C-based clone helper requires that the context be initialized, but we neglect to do that in our Clone implementation for CryptoHasher. This does not matter when using our default block SHA-256 implementation, but it does cause a crash when using OpenSSL as the backend. Fix this by properly initializing the context before cloning into it. Signed-off-by: brian m. carlson <sandals@crustytoothpaste.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
committed by
Junio C Hamano
parent
48bbf81c29
commit
251e7af992
@@ -181,7 +181,10 @@ impl CryptoDigest for CryptoHasher {
|
||||
impl Clone for CryptoHasher {
|
||||
fn clone(&self) -> Self {
|
||||
let ctx = unsafe { c::git_hash_alloc() };
|
||||
unsafe { c::git_hash_clone(ctx, self.ctx) };
|
||||
unsafe {
|
||||
c::git_hash_init(ctx, self.algo.hash_algo_ptr());
|
||||
c::git_hash_clone(ctx, self.ctx)
|
||||
};
|
||||
Self {
|
||||
algo: self.algo,
|
||||
ctx,
|
||||
|
||||
Reference in New Issue
Block a user