mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-31 11:41:32 +01:00
* plaintext.c (handle_plaintext): Make sure that the stdout flush
succeeded, so we can't lose data when using gpg in a pipeline. Fixes bug #1207.
This commit is contained in:
parent
9529d72b2c
commit
5bcd4f613b
@ -1,3 +1,9 @@
|
||||
2010-03-26 David Shaw <dshaw@jabberwocky.com>
|
||||
|
||||
* plaintext.c (handle_plaintext): Make sure that the stdout flush
|
||||
succeeded, so we can't lose data when using gpg in a pipeline.
|
||||
Fixes bug #1207.
|
||||
|
||||
2010-02-17 Werner Koch <wk@g10code.com>
|
||||
|
||||
* keygen.c (ask_user_id): Avoid infinite loop in case of invalid
|
||||
@ -13615,7 +13621,7 @@ Thu Feb 12 22:24:42 1998 Werner Koch (wk@frodo)
|
||||
|
||||
|
||||
Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
2007, 2008, 2009, 2010 Free Software Foundation, Inc.
|
||||
|
||||
This file is free software; as a special exception the author gives
|
||||
unlimited permission to copy and/or distribute it, with or without
|
||||
|
@ -1,6 +1,6 @@
|
||||
/* plaintext.c - process plaintext packets
|
||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
|
||||
* 2006 Free Software Foundation, Inc.
|
||||
* Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
* 2007, 2010 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
@ -392,7 +392,15 @@ handle_plaintext( PKT_plaintext *pt, md_filter_context_t *mfx,
|
||||
/* Make sure that stdout gets flushed after the plaintext has
|
||||
been handled. This is for extra security as we do a
|
||||
flush anyway before checking the signature. */
|
||||
fflush (stdout);
|
||||
if(fflush(stdout))
|
||||
{
|
||||
/* We check whether this fflush succeeded since fp might have
|
||||
been stdout piping to a file. The fflush could fail if the
|
||||
file cannot be written (disk full, etc). See bug 1207 for
|
||||
more. */
|
||||
log_error("Error flushing plaintext: %s\n",strerror(errno));
|
||||
rc=G10ERR_WRITE_FILE;
|
||||
}
|
||||
|
||||
if( fp && fp != stdout )
|
||||
fclose(fp);
|
||||
|
Loading…
x
Reference in New Issue
Block a user