# HG changeset patch # User Eli Zaretskii # Date 1137786816 0 # Node ID 581e383fb47c710ac051605c30e41d0bd221d6a2 # Parent f283791acd64df054a2e377c462f88d38f1dabab (Fload): Don't leak the file descriptor returned by openp if we are going to signal an error. diff -r f283791acd64 -r 581e383fb47c src/lread.c --- a/src/lread.c Fri Jan 20 19:12:39 2006 +0000 +++ b/src/lread.c Fri Jan 20 19:53:36 2006 +0000 @@ -801,8 +801,12 @@ if (!NILP (Fequal (found, XCAR (tem)))) count++; if (count > 3) - Fsignal (Qerror, Fcons (build_string ("Recursive load"), - Fcons (found, Vloads_in_progress))); + { + if (fd >= 0) + emacs_close (fd); + Fsignal (Qerror, Fcons (build_string ("Recursive load"), + Fcons (found, Vloads_in_progress))); + } record_unwind_protect (record_load_unwind, Vloads_in_progress); Vloads_in_progress = Fcons (found, Vloads_in_progress); }