* progress.c (handle_progress)

* sign.c (write_plaintext_packet)
* encode.c (encode_simple,encode_crypt): Make sure that a filename
of "-" is considered to be stdin so that iobuf_get_filelength
won't get called.  This fixes bug 156 reported by Gregery Barton.
This commit is contained in:
Werner Koch 2003-05-21 08:48:26 +00:00
parent 0048ebcbae
commit d0573d3db6
4 changed files with 18 additions and 6 deletions

View File

@ -1,3 +1,11 @@
2003-05-21 Werner Koch <wk@gnupg.org>
* progress.c (handle_progress)
* sign.c (write_plaintext_packet)
* encode.c (encode_simple,encode_crypt): Make sure that a filename
of "-" is considered to be stdin so that iobuf_get_filelength
won't get called. This fixes bug 156 reported by Gregery Barton.
2003-05-02 David Shaw <dshaw@jabberwocky.com>
* packet.h, build-packet.c (build_sig_subpkt), export.c

View File

@ -1,5 +1,6 @@
/* encode.c - encode data
* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
* Copyright (C) 1998, 1999, 2000, 2001, 2002,
* 2003 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@ -291,7 +292,8 @@ encode_simple( const char *filename, int mode, int compat )
either partial length or fixed length with the new style
messages. */
if( filename && !opt.textmode ) {
if (filename && *filename && !(*filename == '-' && !filename[1])
&& !opt.textmode ) {
off_t tmpsize;
if ( !(tmpsize = iobuf_get_filelength(inp)) )
@ -522,7 +524,8 @@ encode_crypt( const char *filename, STRLIST remusr )
}
}
if( filename && !opt.textmode ) {
if (filename && *filename && !(*filename == '-' && !filename[1])
&& !opt.textmode ) {
off_t tmpsize;
if ( !(tmpsize = iobuf_get_filelength(inp)) )

View File

@ -93,7 +93,7 @@ handle_progress (progress_filter_context_t *pfx, IOBUF inp, const char *name)
if (!is_status_enabled ())
return;
if (name)
if (name && *name && !(*name == '-' && !name[1]))
filesize = iobuf_get_filelength (inp);
else if (opt.set_filesize)
filesize = opt.set_filesize;

View File

@ -1,5 +1,6 @@
/* sign.c - sign data
* Copyright (C) 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
* Copyright (C) 1998, 1999, 2000, 2001, 2002,
* 2003 Free Software Foundation, Inc.
*
* This file is part of GnuPG.
*
@ -483,7 +484,7 @@ write_plaintext_packet (IOBUF out, IOBUF inp, const char *fname, int ptmode)
}
/* try to calculate the length of the data */
if (fname) {
if (fname && *fname && !(*fname=='-' && !fname[1])) {
if( !(filesize = iobuf_get_filelength(inp)) )
log_info (_("WARNING: `%s' is an empty file\n"), fname);