Index: lib/ipmi_dcmi.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/lib/ipmi_dcmi.c,v
retrieving revision 1.12
diff -u -r1.12 ipmi_dcmi.c
--- lib/ipmi_dcmi.c	9 Jul 2013 05:00:42 -0000	1.12
+++ lib/ipmi_dcmi.c	13 Jul 2013 06:33:25 -0000
@@ -494,6 +494,13 @@
                 s->hostname);
             return -1;
         }
+		if (host->h_addrtype != AF_INET) {
+			lprintf(LOG_ERR,
+					"Address lookup for %s failed. Got %s, expected IPv4 address.",
+					s->hostname,
+					(host->h_addrtype == AF_INET6) ? "IPv6" : "Unknown");
+			return (-1);
+		}
         s->addr.sin_family = host->h_addrtype;
         memcpy(&s->addr.sin_addr, host->h_addr, host->h_length);
     }
Index: lib/ipmi_tsol.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/lib/ipmi_tsol.c,v
retrieving revision 1.16
diff -u -r1.16 ipmi_tsol.c
--- lib/ipmi_tsol.c	25 Apr 2013 07:43:07 -0000	1.16
+++ lib/ipmi_tsol.c	13 Jul 2013 06:33:25 -0000
@@ -437,6 +437,13 @@
 				intf->session->hostname);
 			return -1;
 		}
+		if (host->h_addrtype != AF_INET) {
+			lprintf(LOG_ERR,
+					"Address lookup for %s failed. Got %s, expected IPv4 address.",
+					intf->session->hostname,
+					(host->h_addrtype == AF_INET6) ? "IPv6" : "Unknown");
+			return (-1);
+		}
 		intf->session->addr.sin_family = host->h_addrtype;
 		memcpy(&intf->session->addr.sin_addr, host->h_addr, host->h_length);
 	}
Index: src/plugins/lan/lan.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/src/plugins/lan/lan.c,v
retrieving revision 1.73
diff -u -r1.73 lan.c
--- src/plugins/lan/lan.c	7 Jul 2013 15:22:10 -0000	1.73
+++ src/plugins/lan/lan.c	13 Jul 2013 06:33:26 -0000
@@ -2045,6 +2045,13 @@
 				s->hostname);
 			return -1;
 		}
+		if (host->h_addrtype != AF_INET) {
+			lprintf(LOG_ERR,
+					"Address lookup for %s failed. Got %s, expected IPv4 address.",
+					s->hostname,
+					(host->h_addrtype == AF_INET6) ? "IPv6" : "Unknown");
+			return (-1);
+		}
 		s->addr.sin_family = host->h_addrtype;
 		memcpy(&s->addr.sin_addr, host->h_addr, host->h_length);
 	}
Index: src/plugins/lanplus/lanplus.c
===================================================================
RCS file: /cvsroot/ipmitool/ipmitool/src/plugins/lanplus/lanplus.c,v
retrieving revision 1.77
diff -u -r1.77 lanplus.c
--- src/plugins/lanplus/lanplus.c	7 Jul 2013 15:28:13 -0000	1.77
+++ src/plugins/lanplus/lanplus.c	13 Jul 2013 06:33:26 -0000
@@ -3387,6 +3387,13 @@
 				session->hostname);
 			return -1;
 		}
+		if (host->h_addrtype != AF_INET) {
+			lprintf(LOG_ERR,
+					"Address lookup for %s failed. Got %s, expected IPv4 address.",
+					session->hostname,
+					(host->h_addrtype == AF_INET6) ? "IPv6" : "Unknown");
+			return (-1);
+		}
 		addr.sin_family = host->h_addrtype;
 		memcpy(&addr.sin_addr, host->h_addr, host->h_length);
 	}
