fix a fd leak in an error path in code under #ifdef DEBUG
authorjsg <jsg@openbsd.org>
Wed, 6 May 2015 23:52:49 +0000 (23:52 +0000)
committerjsg <jsg@openbsd.org>
Wed, 6 May 2015 23:52:49 +0000 (23:52 +0000)
lib/libc/gmon/gmon.c

index 89cfdc2..e790c8d 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: gmon.c,v 1.23 2015/01/16 16:48:51 deraadt Exp $ */
+/*     $OpenBSD: gmon.c,v 1.24 2015/05/06 23:52:49 jsg Exp $ */
 /*-
  * Copyright (c) 1983, 1992, 1993
  *     The Regents of the University of California.  All rights reserved.
@@ -230,6 +230,7 @@ _mcleanup(void)
        log = open("gmon.log", O_CREAT|O_TRUNC|O_WRONLY, 0664);
        if (log < 0) {
                perror("mcount: gmon.log");
+               close(fd);
                return;
        }
        snprintf(dbuf, sizeof dbuf, "[mcleanup1] kcount 0x%x ssiz %d\n",