(change_name): Check that the NAME is not too long.

(change_url): Likewise.
(change_login): Likewise.
This commit is contained in:
Werner Koch 2004-04-26 18:26:54 +00:00
parent d74d2f5bc9
commit 6efe46d4ff
2 changed files with 30 additions and 0 deletions

View File

@ -1,3 +1,9 @@
2004-04-26 Werner Koch <wk@gnupg.org>
* card-util.c (change_name): Check that the NAME is not too long.
(change_url): Likewise.
(change_login): Likewise.
2004-03-23 Werner Koch <wk@gnupg.org>
* g10.c: New options --gpgconf-list, --debug-level and --log-file

View File

@ -445,6 +445,14 @@ change_name (void)
if (*p == ' ')
*p = '<';
if (strlen (isoname) > 39 )
{
tty_printf (_("Error: Combined name too long "
"(limit is %d characters).\n"), 39);
xfree (isoname);
return -1;
}
log_debug ("setting Name to `%s'\n", isoname);
rc = agent_scd_setattr ("DISP-NAME", isoname, strlen (isoname) );
if (rc)
@ -467,6 +475,14 @@ change_url (void)
trim_spaces (url);
cpr_kill_prompt ();
if (strlen (url) > 254 )
{
tty_printf (_("Error: URL too long "
"(limit is %d characters).\n"), 254);
xfree (url);
return -1;
}
rc = agent_scd_setattr ("PUBKEY-URL", url, strlen (url) );
if (rc)
log_error ("error setting URL: %s\n", gpg_strerror (rc));
@ -487,6 +503,14 @@ change_login (void)
trim_spaces (data);
cpr_kill_prompt ();
if (strlen (data) > 254 )
{
tty_printf (_("Error: Login data too long "
"(limit is %d characters).\n"), 254);
xfree (data);
return -1;
}
rc = agent_scd_setattr ("LOGIN-DATA", data, strlen (data) );
if (rc)
log_error ("error setting login data: %s\n", gpg_strerror (rc));