From: David Bremner <[email protected]>

This really should have been there before. I think it's better to do
the actual operation and then possibly fail writing the memory log,
but it would not be too hard to change it to abort earlier.
---
 notmuch.c |   12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/notmuch.c b/notmuch.c
index a674481..cfb009b 100644
--- a/notmuch.c
+++ b/notmuch.c
@@ -294,10 +294,6 @@ main (int argc, char *argv[])

            ret = (command->function)(local, argc - opt_index, argv + 
opt_index);

-           /* in the future support for this environment variable may
-            * be supplemented or replaced by command line arguments
-            * --leak-report and/or --leak-report-full */
-
            talloc_report = getenv ("NOTMUCH_TALLOC_REPORT");

            /* this relies on the previous call to
@@ -305,7 +301,13 @@ main (int argc, char *argv[])

            if (talloc_report && strcmp (talloc_report, "") != 0) {
                FILE *report = fopen (talloc_report, "w");
-               talloc_report_full (NULL, report);
+               if (report) {
+                   talloc_report_full (NULL, report);
+               } else {
+                   ret = 1;
+                   fprintf (stderr, "ERROR: unable to write talloc log. ");
+                   perror (talloc_report);
+               }
            }

            return ret;
-- 
1.7.10.4

Reply via email to