aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--g10/ChangeLog5
-rw-r--r--g10/exec.c12
2 files changed, 13 insertions, 4 deletions
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 3b1c5a6af..757df923c 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,8 @@
+2002-09-10 David Shaw <[email protected]>
+
+ * exec.c (expand_args): Remove loop left over from earlier
+ implementation. (exec_write): Missed one tick.
+
2002-09-10 Werner Koch <[email protected]>
* encode.c (encode_simple): Make sure we don't use an ESK packet
diff --git a/g10/exec.c b/g10/exec.c
index ea3d9c4d5..f220dd30f 100644
--- a/g10/exec.c
+++ b/g10/exec.c
@@ -262,10 +262,14 @@ static int expand_args(struct exec_info *info,const char *args_in)
if(append)
{
- /* FIXME: Why do we need a loop? -wk */
- while(strlen(append)+len>size-1)
+ size_t applen=strlen(append);
+
+ if(applen+len>size-1)
{
- size+=100;
+ if(applen<100)
+ applen=100;
+
+ size+=applen;
info->command=m_realloc(info->command,size);
}
@@ -471,7 +475,7 @@ int exec_write(struct exec_info **info,const char *program,
(*info)->tochild=fopen((*info)->tempfile_in,binary?"wb":"w");
if((*info)->tochild==NULL)
{
- log_error(_("can't create '%s': %s\n"),
+ log_error(_("can't create `%s': %s\n"),
(*info)->tempfile_in,strerror(errno));
ret=G10ERR_WRITE_FILE;
goto fail;