From 5ec2b0cca5530bb911536d5e135e17e24490adbc Mon Sep 17 00:00:00 2001 From: Michal Privoznik Date: Wed, 8 Jun 2016 11:32:09 +0200 Subject: [PATCH] virsh-network: Avoid possible NULL deref in cmdNetworkDHCPLeases Problem is, localtime_r() returns a pointer to converted time or NULL in case of an error. But checking the glibc sources, error will occur iff a NULL has been passed as an either of arguments the function takes. But GCC fails to see that: ../../tools/virsh-network.c: In function 'cmdNetworkDHCPLeases': ../../tools/virsh-network.c:1370:12: error: potential null pointer dereference [-Werror=null-dereference] ts = *localtime_r(&expirytime_tmp, &ts); ~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ cc1: all warnings being treated as errors Signed-off-by: Michal Privoznik --- tools/virsh-network.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/virsh-network.c b/tools/virsh-network.c index 22ea016f40..5abcda37cd 100644 --- a/tools/virsh-network.c +++ b/tools/virsh-network.c @@ -1367,7 +1367,7 @@ cmdNetworkDHCPLeases(vshControl *ctl, const vshCmd *cmd) time_t expirytime_tmp = lease->expirytime; struct tm ts; char expirytime[32]; - ts = *localtime_r(&expirytime_tmp, &ts); + localtime_r(&expirytime_tmp, &ts); strftime(expirytime, sizeof(expirytime), "%Y-%m-%d %H:%M:%S", &ts); if (lease->type == VIR_IP_ADDR_TYPE_IPV4) -- GitLab