[git] GCRYPT - branch, LIBGCRYPT-1.8-BRANCH, updated. libgcrypt-1.8.3-2-g20c0348

[email protected] (by Will Dietz)
Newsgroups gmane.comp.encryption.gpg.cvs
Message-ID <[email protected]>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "The GNU crypto library".

The branch, LIBGCRYPT-1.8-BRANCH has been updated
       via  20c034865f2dd15ce2871385b6e29c15d1570539 (commit)
      from  6ca6344429e5ee1657e164509c6b50a717ebec68 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 20c034865f2dd15ce2871385b6e29c15d1570539
Author: Will Dietz <[email protected]>
Date:   Sun Jun 17 18:53:58 2018 -0500

    random: Fix hang of _gcry_rndjent_get_version.
    
    * random/rndjent.c (_gcry_rndjent_get_version): Move locking.
    
    --
    
    cherry-picked from master commit:
        355f5b7f69075c010fe33aa5b10ac60c08fae0c7
    
    While the protection for jent_rng_collector is needed,
    _gcry_rndjent_poll is also acquiring the lock for the variable.
    Thus, it hangs.
    
    This change is sub-optimal, the lock is once released after the call
    of _gcry_rndjent_poll.  It might be good to modify the API of
    _gcry_rndjent_poll to explicitly allow this use case of forcing
    initialization keeping the lock.
    
    Comments and change log entry by gniibe.
    
    GnuPG-bug-id: 4034
    Fixes-commit: 0de2a22fcf6607d0aecb550feefa414cee3731b2

diff --git a/random/rndjent.c b/random/rndjent.c
index 0c5a820..3740ddd 100644
--- a/random/rndjent.c
+++ b/random/rndjent.c
@@ -334,9 +334,10 @@ _gcry_rndjent_get_version (int *r_active)
     {
       if (r_active)
         {
-          lock_rng ();
           /* Make sure the RNG is initialized.  */
           _gcry_rndjent_poll (NULL, 0, 0);
+
+          lock_rng ();
           /* To ease debugging we store 2 for a clock_gettime based
            * implementation and 1 for a rdtsc based code.  */
           *r_active = jent_rng_collector? is_rng_available () : 0;

-----------------------------------------------------------------------

Summary of changes:
 random/rndjent.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)


hooks/post-receive
-- 
The GNU crypto library
http://git.gnupg.org
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.