--- ntp-4.1.1a/util/ntp-genkeys.c.genkey2 Tue Jun 11 17:44:10 2002 +++ ntp-4.1.1a/util/ntp-genkeys.c Tue Jun 11 17:44:18 2002 @@ -573,12 +573,12 @@ #endif ) { /* file = dirname(f1) / f2 */ - snprintf(fb, sizeof fb, "%s", f1); - cp = strrchr(fb, '/'); + snprintf(fb2, sizeof fb2, "%s", f1); + cp = strrchr(fb2, '/'); if (cp) { *cp = 0; } - snprintf(fb, sizeof fb, "%s/%s", fb, f2); + snprintf(fb, sizeof fb, "%s/%s", fb2, f2); if (debug > 1) printf("case 1: file is <%s>\n", fb); } else { /* @@ -642,6 +642,7 @@ #ifdef HAVE_READLINK char *cp; char fb[PATH_MAX]; + char *ft; /* Just return if nosymlinks. @@ -679,7 +680,10 @@ } else { *fb = 0; } + ft = strdup(fb); snprintf(fb, sizeof fb, "%s%s", fb, f2); + free(ft); + if (debug > 1) printf("cleanlinks 1: file is <%s>\n", fb); if (memorex) @@ -712,7 +716,9 @@ if (cp) { *cp = 0; } - snprintf(fb, sizeof fb, "%s/%s", fb, f3); + ft = strdup(fb); + snprintf(fb, sizeof fb, "%s/%s", ft, f3); + free(fb); if (debug > 1) printf("cleanlinks 2: file is <%s>\n", fb); if (memorex)