(add_notation_data): Check number of at-signs.
authorWerner Koch <wk@gnupg.org>
Tue, 24 May 2005 09:14:31 +0000 (09:14 +0000)
committerWerner Koch <wk@gnupg.org>
Tue, 24 May 2005 09:14:31 +0000 (09:14 +0000)
g10/ChangeLog
g10/g10.c

index dde6ceb..86bdce9 100644 (file)
@@ -1,3 +1,7 @@
+2005-05-24  Werner Koch  <wk@g10code.com>
+
+       * g10.c (add_notation_data): Check number of at-signs.
+
 2005-05-23  Werner Koch  <wk@g10code.com>
 
        * app-openpgp.c, app-common.h: Again updated from gnupg 1.9 CVS.
index 68c5504..f345cb3 100644 (file)
--- a/g10/g10.c
+++ b/g10/g10.c
@@ -3879,7 +3879,7 @@ add_notation_data( const char *string, int which )
     for( s=string ; *s != '='; s++ )
       {
        if( *s=='@')
-         saw_at=1;
+         saw_at++;
 
        if( !*s || !isascii (*s) || (!isgraph(*s) && !isspace(*s)) )
          {
@@ -3894,6 +3894,12 @@ add_notation_data( const char *string, int which )
        log_error(_("a user notation name must contain the '@' character\n"));
        return;
       }
+    if (saw_at > 1)
+      {
+       log_error(_("a notation name must contain more than "
+                    "one '@' character\n"));
+       return;
+      }
 
     /* we only support printable text - therefore we enforce the use
      * of only printable characters (an empty value is valid) */