--- ping.c	2007-11-27 02:57:27.000000000 +0200
+++ ping.c.patched	2008-09-18 19:59:45.000000000 +0300
@@ -350,6 +350,8 @@
 			fprintf(stderr, "ping: unknown iface %s\n", device);
 			exit(2);
 		}
+		if (options & F_STRICTSOURCE)
+			cmsg.ipi.ipi_spec_dst.s_addr = source.sin_addr.s_addr;
 		cmsg.ipi.ipi_ifindex = ifr.ifr_ifindex;
 		cmsg_len = sizeof(cmsg);
 	}
