updated for version 7.0e06
diff --git a/src/diff.c b/src/diff.c
index 5f8a84a..22cf5af 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1330,7 +1330,7 @@
 	    /* Allocate a new diffblock. */
 	    dp = diff_alloc_new(curtab, dprev, dp);
 	    if (dp == NULL)
-		return;
+		goto done;
 
 	    dp->df_lnum[idx_orig] = lnum_orig;
 	    dp->df_count[idx_orig] = count_orig;
@@ -1357,6 +1357,7 @@
 	notset = TRUE;
     }
 
+done:
     fclose(fd);
 }