From rumik@fio.cz  Thu Nov 27 08:00:41 2003
Return-Path: <rumik@fio.cz>
Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125])
	by hub.freebsd.org (Postfix) with ESMTP id B373416A4CE
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 27 Nov 2003 08:00:41 -0800 (PST)
Received: from sofia.fio.cz (sf-wall.fio.cz [195.250.140.9])
	by mx1.FreeBSD.org (Postfix) with ESMTP id 0108143FD7
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 27 Nov 2003 08:00:35 -0800 (PST)
	(envelope-from rumik@fio.cz)
Received: from vita.private.fio.cz (vita.private.fio.cz [10.0.4.41])
	by sofia.fio.cz (8.12.8p2/8.12.8) with ESMTP id hARG0Svk072921
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 27 Nov 2003 17:00:28 +0100 (CET)
	(envelope-from rumik@fio.cz)
Received: from vita.private.fio.cz (localhost [127.0.0.1])
	by vita.private.fio.cz (8.12.9p2/8.12.8) with ESMTP id hARG0VTq074245
	for <FreeBSD-gnats-submit@freebsd.org>; Thu, 27 Nov 2003 17:00:31 +0100 (CET)
	(envelope-from rumik@vita.private.fio.cz)
Received: (from rumik@localhost)
	by vita.private.fio.cz (8.12.9p2/8.12.9/Submit) id hARG0VWC074244;
	Thu, 27 Nov 2003 17:00:31 +0100 (CET)
	(envelope-from rumik)
Message-Id: <200311271600.hARG0VWC074244@vita.private.fio.cz>
Date: Thu, 27 Nov 2003 17:00:31 +0100 (CET)
From: Vita Novy <vita@fio.cz>
Reply-To: Vita Novy <vita@fio.cz>
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: isdnd crashes with signal 11 if cannot create budget-callbacksfile
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         59730
>Category:       bin
>Synopsis:       isdnd crashes with signal 11 if cannot create budget-callbacksfile
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 27 08:10:18 PST 2003
>Closed-Date:    Sat May 13 15:13:55 CEST 2006
>Last-Modified:  Sat May 13 15:13:55 CEST 2006
>Originator:     Vita Novy
>Release:        FreeBSD 4.9-RELEASE i386
>Organization:
>Environment:
System: FreeBSD vita.private.fio.cz 4.9-RELEASE FreeBSD 4.9-RELEASE #13: Mon Nov 24 14:13:18 CET 2003 rumik@vita.private.fio.cz:/usr/src/sys/compile/VITA i386

>Description:
isdnd crashes on signal 11 due to fclose(NULL) if budget-callbacksfile and/or
budget-calloutsfile not exist and cannot be created.


>How-To-Repeat:
	In /etc/isdn/isdnd.rc configure isdnd to place  budget-callbacksfile
to nonexistent directory and start isdnd.	


>Fix:
--- usr.sbin/i4b/isdnd/rc_config.c.orig	Tue Nov 25 17:06:37 2003
+++ usr.sbin/i4b/isdnd/rc_config.c	Tue Nov 25 17:08:16 2003
@@ -453,18 +453,20 @@
 						DBGL(DL_RCCF, (log(LL_DBG, "entry %d: initializing budget-callbacksfile %s", entrycount, yylval.str)));
 						fclose(fp);
 						fp = fopen(yylval.str, "w");
-						if(fp != NULL)
+						if(fp != NULL) {
 							fprintf(fp, "%d %d %d", (int)time(NULL), (int)time(NULL), 0);
-						fclose(fp);
+							fclose(fp);
+						}
 					}
 				}
 				else
 				{
 					DBGL(DL_RCCF, (log(LL_DBG, "entry %d: creating budget-callbacksfile %s", entrycount, yylval.str)));
 					fp = fopen(yylval.str, "w");
-					if(fp != NULL)
+					if(fp != NULL) {
 						fprintf(fp, "%d %d %d", (int)time(NULL), (int)time(NULL), 0);
-					fclose(fp);
+						fclose(fp);
+					}
 				}
 
 				fp = fopen(yylval.str, "r");
@@ -513,9 +515,10 @@
 				{
 					DBGL(DL_RCCF, (log(LL_DBG, "entry %d: creating budget-calloutsfile %s", entrycount, yylval.str)));
 					fp = fopen(yylval.str, "w");
-					if(fp != NULL)
+					if(fp != NULL) {
 						fprintf(fp, "%d %d %d", (int)time(NULL), (int)time(NULL), 0);
-					fclose(fp);
+						fclose(fp);
+					}
 				}
 
 				fp = fopen(yylval.str, "r");


>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed 
State-Changed-By: hm 
State-Changed-When: Sat May 13 15:13:02 CEST 2006 
State-Changed-Why:  
This bug is already fixed in the current source of isdnd. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=59730 
>Unformatted:
