aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2006-11-27 16:40:14 +0000
committerWerner Koch <[email protected]>2006-11-27 16:40:14 +0000
commite1829a3d5260b5bdeef40c81f5f9508b78fd7135 (patch)
treeb9749a1dfa07b89d8c19d04c3d5811352f688ec1
parentMissing changelog entry (diff)
downloadgnupg-e1829a3d5260b5bdeef40c81f5f9508b78fd7135.tar.gz
gnupg-e1829a3d5260b5bdeef40c81f5f9508b78fd7135.zip
* openfile.c (ask_outfile_name): Fixed buffer overflow occurring
if make_printable_string returns a longer string. Fixes bug 728.
-rw-r--r--g10/ChangeLog5
-rw-r--r--g10/openfile.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 763f468e2..cc10fec03 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2006-11-27 Werner Koch <[email protected]>
+
+ * openfile.c (ask_outfile_name): Fixed buffer overflow occurring
+ if make_printable_string returns a longer string. Fixes bug 728.
+
2006-10-23 Werner Koch <[email protected]>
* gpg.c (main): New command --gpgconf-list.
diff --git a/g10/openfile.c b/g10/openfile.c
index 33e755d8f..c106cdbec 100644
--- a/g10/openfile.c
+++ b/g10/openfile.c
@@ -144,8 +144,8 @@ ask_outfile_name( const char *name, size_t namelen )
s = _("Enter new filename");
- n = strlen(s) + namelen + 10;
defname = name && namelen? make_printable_string( name, namelen, 0): NULL;
+ n = strlen(s) + (defname?strlen (defname):0) + 10;
prompt = xmalloc(n);
if( defname )
sprintf(prompt, "%s [%s]: ", s, defname );