Fix bug 1186
authorWerner Koch <wk@gnupg.org>
Wed, 17 Feb 2010 10:28:27 +0000 (10:28 +0000)
committerWerner Koch <wk@gnupg.org>
Wed, 17 Feb 2010 10:28:27 +0000 (10:28 +0000)
g10/ChangeLog
g10/keygen.c

index 97c2120..acd63a0 100644 (file)
@@ -1,3 +1,8 @@
+2010-02-17  Werner Koch  <wk@g10code.com>
+
+       * keygen.c (ask_user_id): Avoid infinite loop in case of invalid
+       data.  Fixes bug#1186.
+
 2010-02-02  Werner Koch  <wk@g10code.com>
 
        * card-util.c (card_edit): Change prompt to "gpg/card".
index 2408565..760e63a 100644 (file)
@@ -1927,7 +1927,7 @@ ask_user_id( int mode )
            if( strlen(ansstr) != 10 )
                BUG();
            if( cpr_enabled() ) {
-               answer = xstrdup(ansstr+6);
+                answer = xstrdup (ansstr + (fail?8:6));
                answer[1] = 0;
            }
            else {