diff -up iputils-s20071127/ping.c.ia64_align iputils-s20071127/ping.c --- iputils-s20071127/ping.c.ia64_align 2008-06-02 08:56:32.000000000 +0200 +++ iputils-s20071127/ping.c 2008-06-02 08:56:32.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; } diff -up iputils-s20071127/arping.c.ia64_align iputils-s20071127/arping.c --- iputils-s20071127/arping.c.ia64_align 2008-06-02 08:56:32.000000000 +0200 +++ iputils-s20071127/arping.c 2008-06-02 08:56:32.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/ping6.c.ia64_align iputils-s20071127/ping6.c --- iputils-s20071127/ping6.c.ia64_align 2008-06-02 08:56:32.000000000 +0200 +++ iputils-s20071127/ping6.c 2008-06-02 08:56:32.000000000 +0200 @@ -581,7 +581,7 @@ int main(int argc, char *argv[]) free(addr); } else { - device = optarg; + device = strdup(optarg); } break; case 'M':