From owner-freebsd-current@FreeBSD.ORG Tue Apr 13 09:24:04 2010 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 7CD9D1065674 for ; Tue, 13 Apr 2010 09:24:04 +0000 (UTC) (envelope-from rpaulo@gmail.com) Received: from mail-bw0-f216.google.com (mail-bw0-f216.google.com [209.85.218.216]) by mx1.freebsd.org (Postfix) with ESMTP id DA5668FC08 for ; Tue, 13 Apr 2010 09:24:03 +0000 (UTC) Received: by bwz8 with SMTP id 8so3956989bwz.3 for ; Tue, 13 Apr 2010 02:24:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:subject:mime-version :content-type:from:in-reply-to:date:cc:content-transfer-encoding :message-id:references:to:x-mailer; bh=VfcS66QZc08WP+eG2PLoigLMnNswuz/fmdVktz5PQB4=; b=bLel5+JTr3k2Fji8ol+8eLHbpy10vPjk/r4QN6cw0S3wzgpGS3K9/6Ezs6hg8xcyP/ tKojo8ibqCWcFTn3SbZLQknJhnA0ijpfwPm39hwQbtUEChNy3vA+lwHpE3L62rFq63cH g2KKsMhl78Xf+qNbNqXTU5OQxuJjXIuy0ObdI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=subject:mime-version:content-type:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to:x-mailer; b=iC7XQPMCAjrhcN8VV6RgMZllM1DoVC564wDiVj58pUqUSf8AY80pO+UvElOIofhOpJ eSFGgkQZ4K2H1WIXTP5TrBQZwwhWcq6eX2FO1LTFZg4PS3yS/uKq8LskBaB+Ewd5OSis ENzn43rXyXY6JEywNk98UXSebfAGGs+kJNHus= Received: by 10.103.4.4 with SMTP id g4mr2882694mui.80.1271150642516; Tue, 13 Apr 2010 02:24:02 -0700 (PDT) Received: from [10.0.10.2] (54.81.54.77.rev.vodafone.pt [77.54.81.54]) by mx.google.com with ESMTPS id s11sm21793613mue.11.2010.04.13.02.24.01 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 13 Apr 2010 02:24:02 -0700 (PDT) Mime-Version: 1.0 (Apple Message framework v1078) Content-Type: text/plain; charset=us-ascii From: Rui Paulo In-Reply-To: <20100413114803.784e2ab7@hzwork.vyborg.ru> Date: Tue, 13 Apr 2010 10:24:00 +0100 Content-Transfer-Encoding: quoted-printable Message-Id: <9A01E942-1C57-4E93-8B86-274407DEF778@gmail.com> References: <20100411001454.GO73901@bunrab.catwhisker.org> <20100413095350.3e74bb85@hzwork.vyborg.ru> <20100413114803.784e2ab7@hzwork.vyborg.ru> To: Hizel Ildar X-Mailer: Apple Mail (2.1078) X-Mailman-Approved-At: Tue, 13 Apr 2010 11:21:54 +0000 Cc: freebsd-current@freebsd.org Subject: Re: SIGSEGV in dc, at bcode.c:277 (function reset_bmachine()) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Apr 2010 09:24:04 -0000 On 13 Apr 2010, at 08:48, Hizel Ildar wrote: > My patch: >=20 > foo# diff -ruN dc.c.orig dc.c > --- dc.c.orig 2010-04-13 10:33:22.000000000 +0400 > +++ dc.c 2010-04-13 11:44:18.000000000 +0400 > @@ -87,12 +87,16 @@ > while ((ch =3D getopt_long(argc, argv, "e:f:Vx", long_options, = NULL)) !=3D -1) { > switch (ch) { > case 'e': > + if(!preproc_done) > + init_bmachine(extended_regs); > src_setstring(&src, optarg); > reset_bmachine(&src); > eval(); > preproc_done =3D true; > break; > case 'f': > + if(!preproc_done) > + init_bmachine(extended_regs); > procfile(optarg); > preproc_done =3D true; > break; > @@ -114,7 +118,9 @@ > argc -=3D optind; > argv +=3D optind; >=20 > - init_bmachine(extended_regs); > + if (!preproc_done) > + init_bmachine(extended_regs); > + > setlinebuf(stdout); > setlinebuf(stderr); >=20 >=20 > test: >=20 > foo# dc -f /tmp/test > 3 > foo# dc -e "6 2/p" > 3 > foo# dc -e "6 2/p" -f /tmp/test > 3 > 3 > foo# dc -e "6 2/p" -f /tmp/test /tmp/test > 3 > 3 > 3 This looks sane to me. Regards, -- Rui Paulo