mirror of
git://git.gnupg.org/gnupg.git
synced 2024-12-22 10:19:57 +01:00
gpg: Fix possible dead code elimination.
* g10/encrypt.c: Change condition for detecting a real file. -- Detected by Stack 3.0: bug: anti-dce model: | %tobool155 = icmp ne i32 %call154, 0, !dbg !1298 --> true ************************************************************ land.lhs.true156: %96 = icmp eq i8* %filename, null call void @opt.bugon(i1 %96), !dbg !1298, !bug !1250 %97 = load i8* %filename, align 1, !dbg !1298 %conv157 = sext i8 %97 to i32, !dbg !1298 %tobool158 = icmp ne i32 %conv157, 0, !dbg !1298 br i1 %tobool158, label %land.lhs.true159, label %if.else177,\ !dbg !1298 stack: - /home/wk/s/gnupg/g10/encrypt.c:639:0 ncore: 1 core: - /home/wk/s/gnupg/g10/encrypt.c:639:0 - null pointer dereference
This commit is contained in:
parent
4bc3a2e954
commit
1a9f13bc66
@ -453,6 +453,9 @@ write_symkey_enc (STRING2KEY *symkey_s2k, DEK *symkey_dek, DEK *dek,
|
||||
* supplied). Either FILENAME or FILEFD must be given, but not both.
|
||||
* The caller may provide a checked list of public keys in
|
||||
* PROVIDED_PKS; if not the function builds a list of keys on its own.
|
||||
*
|
||||
* Note that FILEFD is currently only used by cmd_encrypt in the the
|
||||
* not yet finished server.c.
|
||||
*/
|
||||
int
|
||||
encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
||||
@ -476,7 +479,7 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
||||
int do_compress;
|
||||
|
||||
if (filefd != -1 && filename)
|
||||
return gpg_error (GPG_ERR_INV_ARG);
|
||||
return gpg_error (GPG_ERR_INV_ARG); /* Both given. */
|
||||
|
||||
do_compress = !!opt.compress_algo;
|
||||
|
||||
@ -635,8 +638,9 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
||||
if (!opt.no_literal)
|
||||
pt = setup_plaintext_name (filename, inp);
|
||||
|
||||
if (filefd != -1
|
||||
&& !iobuf_is_pipe_filename (filename) && *filename && !opt.textmode )
|
||||
/* Get the size of the file if possible, i.e., if it is a real file. */
|
||||
if (filename && *filename
|
||||
&& !iobuf_is_pipe_filename (filename) && !opt.textmode )
|
||||
{
|
||||
off_t tmpsize;
|
||||
int overflow;
|
||||
|
Loading…
x
Reference in New Issue
Block a user