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 + + * exec.c (expand_args): Remove loop left over from earlier + implementation. (exec_write): Missed one tick. + 2002-09-10 Werner Koch * 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;