This patch prevents unaligned access errors on ia64 architectures. https://bugzilla.redhat.com/show_bug.cgi?id=158914 diff -up iputils-s20071127/ping6.c.optarg iputils-s20071127/ping6.c --- iputils-s20071127/ping6.c.optarg 2008-06-02 08:26:05.000000000 +0200 +++ iputils-s20071127/ping6.c 2008-06-02 08:26:38.000000000 +0200 @@ -256,7 +256,7 @@ int main(int argc, char *argv[]) } options |= F_STRICTSOURCE; } else { - device = optarg; + device = strdup(optarg); } break; case 'M': diff -up iputils-s20071127/arping.c.optarg iputils-s20071127/arping.c --- iputils-s20071127/arping.c.optarg 2008-06-02 07:52:06.000000000 +0200 +++ iputils-s20071127/arping.c 2008-06-02 08:43:18.000000000 +0200 @@ -351,7 +351,7 @@ main(int argc, char **argv) timeout = atoi(optarg); break; case 'I': - device = optarg; + device = strdup(optarg); break; case 'f': quit_on_reply=1; diff -up iputils-s20071127/ping.c.optarg iputils-s20071127/ping.c --- iputils-s20071127/ping.c.optarg 2008-06-02 08:27:57.000000000 +0200 +++ iputils-s20071127/ping.c 2008-06-02 08:28:01.000000000 +0200 @@ -200,13 +200,13 @@ main(int argc, char **argv) ptr[3] = i4; options |= F_STRICTSOURCE; } else { - device = optarg; + device = strdup(optarg); } #else if (inet_pton(AF_INET, optarg, &source.sin_addr) > 0) options |= F_STRICTSOURCE; else - device = optarg; + device = strdup(optarg); #endif break; }