From 65eb1569809a3c42e8afb064f6194fac2e34a03a Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Fri, 4 Sep 2020 11:24:34 +0200 Subject: [PATCH] gpg: Initialize a parameter to silence valgrind. * g10/keygen.c (read_parameter_file): Initialize nline. * g10/textfilter.c (copy_clearsig_text): Initialize bufsize. -- In iobuf_read_line the parameter to pass and return the current buffer length is controlled by the buffer parameter. Thus there should be no problem because the assert call check s buffer first. For yet unknown reasons when using the standard GNU libc assert valgrind complains about an uninitialized variable. That does not happen with our log_assert. Tested with gnupg 2.2.23 with gcc 8.3.0 and valgrind 3.14.0. Signed-off-by: Werner Koch --- g10/keygen.c | 1 + g10/textfilter.c | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/g10/keygen.c b/g10/keygen.c index cf34d8f99..d3de98d32 100644 --- a/g10/keygen.c +++ b/g10/keygen.c @@ -4308,6 +4308,7 @@ read_parameter_file (ctrl_t ctrl, const char *fname ) para = NULL; maxlen = 1024; line = NULL; + nline = 0; while ( iobuf_read_line (fp, &line, &nline, &maxlen) ) { char *keyword, *value; diff --git a/g10/textfilter.c b/g10/textfilter.c index 96666cf17..3e68900bb 100644 --- a/g10/textfilter.c +++ b/g10/textfilter.c @@ -163,8 +163,8 @@ copy_clearsig_text( IOBUF out, IOBUF inp, gcry_md_hd_t md, int escape_dash, int escape_from) { unsigned int maxlen; - byte *buffer = NULL; /* malloced buffer */ - unsigned int bufsize; /* and size of this buffer */ + byte *buffer = NULL; /* malloced buffer */ + unsigned int bufsize = 0; /* and size of this buffer */ unsigned int n; int truncated = 0; int pending_lf = 0;