mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +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.
|
* supplied). Either FILENAME or FILEFD must be given, but not both.
|
||||||
* The caller may provide a checked list of public keys in
|
* 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.
|
* 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
|
int
|
||||||
encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
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;
|
int do_compress;
|
||||||
|
|
||||||
if (filefd != -1 && filename)
|
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;
|
do_compress = !!opt.compress_algo;
|
||||||
|
|
||||||
@ -635,8 +638,9 @@ encrypt_crypt (ctrl_t ctrl, int filefd, const char *filename,
|
|||||||
if (!opt.no_literal)
|
if (!opt.no_literal)
|
||||||
pt = setup_plaintext_name (filename, inp);
|
pt = setup_plaintext_name (filename, inp);
|
||||||
|
|
||||||
if (filefd != -1
|
/* Get the size of the file if possible, i.e., if it is a real file. */
|
||||||
&& !iobuf_is_pipe_filename (filename) && *filename && !opt.textmode )
|
if (filename && *filename
|
||||||
|
&& !iobuf_is_pipe_filename (filename) && !opt.textmode )
|
||||||
{
|
{
|
||||||
off_t tmpsize;
|
off_t tmpsize;
|
||||||
int overflow;
|
int overflow;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user