From abd74c3ba5e3ee3f5320bff6ed7dff4fbcb79373 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 9 Aug 2017 17:01:09 +0200 Subject: [PATCH] heimdal: Fix printing a short int into a string The size of portstr is too small to print an integer and we should print a short anyway. This fixes building with GCC 7.1 BUG: https://bugzilla.samba.org/show_bug.cgi?id=12930 Signed-off-by: Andreas Schneider Reviewed-by: Ralph Boehme Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Fri Aug 11 18:08:04 CEST 2017 on sn-devel-144 --- source4/heimdal/lib/krb5/krbhst.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source4/heimdal/lib/krb5/krbhst.c b/source4/heimdal/lib/krb5/krbhst.c index 9822bfb2f6d2..dae32071b143 100644 --- a/source4/heimdal/lib/krb5/krbhst.c +++ b/source4/heimdal/lib/krb5/krbhst.c @@ -326,13 +326,13 @@ krb5_krbhst_format_string(krb5_context context, const krb5_krbhst_info *host, char *hostname, size_t hostlen) { const char *proto = ""; - char portstr[7] = ""; + char portstr[7] = {0}; if(host->proto == KRB5_KRBHST_TCP) proto = "tcp/"; else if(host->proto == KRB5_KRBHST_HTTP) proto = "http://"; if(host->port != host->def_port) - snprintf(portstr, sizeof(portstr), ":%d", host->port); + snprintf(portstr, sizeof(portstr), ":%hd", host->port); snprintf(hostname, hostlen, "%s%s%s", proto, host->hostname, portstr); return 0; } -- 2.34.1