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:

committed by
Nico Williams

parent
d84512b8d2
commit
5e690fe70c
@@ -486,7 +486,7 @@ gss_krb5_ccache_name(OM_uint32 *minor_status,
|
|||||||
const char **out_name)
|
const char **out_name)
|
||||||
{
|
{
|
||||||
struct _gss_mech_switch *m;
|
struct _gss_mech_switch *m;
|
||||||
gss_buffer_desc buffer;
|
gss_buffer_desc buffer = GSS_C_EMPTY_BUFFER;
|
||||||
OM_uint32 junk;
|
OM_uint32 junk;
|
||||||
|
|
||||||
_gss_load_mech();
|
_gss_load_mech();
|
||||||
@@ -494,11 +494,9 @@ gss_krb5_ccache_name(OM_uint32 *minor_status,
|
|||||||
if (out_name)
|
if (out_name)
|
||||||
*out_name = NULL;
|
*out_name = NULL;
|
||||||
|
|
||||||
if (name) {
|
|
||||||
buffer.value = rk_UNCONST(name);
|
buffer.value = rk_UNCONST(name);
|
||||||
|
if (name) {
|
||||||
buffer.length = strlen(name);
|
buffer.length = strlen(name);
|
||||||
} else {
|
|
||||||
_mg_buffer_zero(&buffer);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
HEIM_TAILQ_FOREACH(m, &_gss_mechs, gm_link) {
|
HEIM_TAILQ_FOREACH(m, &_gss_mechs, gm_link) {
|
||||||
|
Reference in New Issue
Block a user