aboutsummaryrefslogtreecommitdiffstats
path: root/g10/encode.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2003-05-21 08:48:26 +0000
committerWerner Koch <[email protected]>2003-05-21 08:48:26 +0000
commitd0573d3db60fd0d522da31a04e451f84a17618d3 (patch)
treebbd09de938e0d65994dd9aca1105954a328ae21b /g10/encode.c
parent* cipher.c (setup_cipher_table): #ifdef IDEA. (diff)
downloadgnupg-d0573d3db60fd0d522da31a04e451f84a17618d3.tar.gz
gnupg-d0573d3db60fd0d522da31a04e451f84a17618d3.zip
* 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.
Diffstat (limited to 'g10/encode.c')
-rw-r--r--g10/encode.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/g10/encode.c b/g10/encode.c
index 8a0766674..6468ccfff 100644
--- a/g10/encode.c
+++ b/g10/encode.c
@@ -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)) )