diff -Naur installwatch.orig/installwatch.c installwatch/installwatch.c --- installwatch.orig/installwatch.c 2010-02-14 04:19:42.000000000 +0100 +++ installwatch/installwatch.c 2011-08-28 20:44:02.000000000 +0200 @@ -1711,9 +1711,9 @@ snprintf(proc_path, PROC_PATH_LEN, "/proc/self/fd/%d", dirfd); if(true_stat(proc_path, &s) == -1) goto out; - if(!(newpath = malloc(s.st_size+strlen(relpath)+2))) + if(!(newpath = malloc(PATH_MAX+strlen(relpath)+2))) goto out; - if((l = true_readlink(proc_path, newpath, s.st_size)) == -1) + if((l = true_readlink(proc_path, newpath, PATH_MAX)) == -1) goto free_out; newpath[l] = '/'; strcpy(newpath + l + 1, relpath); .