Avoid -Werror=address failure due to embedded NULL check in _mg_buffer_zero

Seen with Ubuntu 18.04
gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

mech/gss_krb5.c: In function ‘gss_krb5_ccache_name’:
mech/gss_krb5.c:501:18: error: the address of ‘buffer’ will always evaluate as ‘true’ [-Werror=address]
  _mg_buffer_zero(&buffer);
                  ^
mech/mech_locl.h:72:7: note: in definition of macro ‘_mg_buffer_zero’
   if (buffer) {   \
       ^~~~~~

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
This commit is contained in:
Andrew Bartlett
2020-05-28 11:29:32 +12:00
committed by Nico Williams
parent d84512b8d2
commit 5e690fe70c

View File

@@ -486,7 +486,7 @@ gss_krb5_ccache_name(OM_uint32 *minor_status,
const char **out_name)
{
struct _gss_mech_switch *m;
gss_buffer_desc buffer;
gss_buffer_desc buffer = GSS_C_EMPTY_BUFFER;
OM_uint32 junk;
_gss_load_mech();
@@ -494,11 +494,9 @@ gss_krb5_ccache_name(OM_uint32 *minor_status,
if (out_name)
*out_name = NULL;
buffer.value = rk_UNCONST(name);
if (name) {
buffer.value = rk_UNCONST(name);
buffer.length = strlen(name);
} else {
_mg_buffer_zero(&buffer);
}
HEIM_TAILQ_FOREACH(m, &_gss_mechs, gm_link) {