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);
