sane-project-website/old-archive/2000-07/0017.html

108 wiersze
3.9 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>sane-devel: Re: Bug report</TITLE>
<META NAME="Author" CONTENT="Jochen Eisinger (jochen.eisinger@gno.de)">
<META NAME="Subject" CONTENT="Re: Bug report">
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
<H1>Re: Bug report</H1>
<!-- received="Tue Jul 4 04:54:58 2000" -->
<!-- isoreceived="20000704115458" -->
<!-- sent="Tue, 04 Jul 2000 14:09:58 +0200" -->
<!-- isosent="20000704120958" -->
<!-- name="Jochen Eisinger" -->
<!-- email="jochen.eisinger@gno.de" -->
<!-- subject="Re: Bug report" -->
<!-- id="3961D416.972CE0F0@gno.de" -->
<!-- inreplyto="3960C229.F564CE44@CFFtechnologies.com" -->
<STRONG>From:</STRONG> Jochen Eisinger (<A HREF="mailto:jochen.eisinger@gno.de?Subject=Re:%20Bug%20report&In-Reply-To=&lt;3961D416.972CE0F0@gno.de&gt;"><EM>jochen.eisinger@gno.de</EM></A>)<BR>
<STRONG>Date:</STRONG> Tue Jul 04 2000 - 05:09:58 PDT
<P>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0018.html">Marcel Pol: "Gocr"</A>
<UL>
<LI><STRONG>Previous message:</STRONG> <A HREF="0016.html">Dr. Ing. Dieter Jurzitza: "FW: AGGA SNAPSCAN / Polaroid Sprint Scan 35/LE"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0014.html">Avi Schwartz: "Bug report"</A>
<!-- nextthread="start" -->
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#17">[ date ]</A>
<A HREF="index.html#17">[ thread ]</A>
<A HREF="subject.html#17">[ subject ]</A>
<A HREF="author.html#17">[ author ]</A>
</UL>
<HR NOSHADE><P>
<!-- body="start" -->
<P>
Hi!
<BR>
<P><EM>&gt; If inetd.conf is not set up properly to start saned, for example, if I
</EM><BR>
<EM>&gt; specify the wrong path for saned :-( scanimage will crash on the remote
</EM><BR>
<EM>&gt; machine with a seg fault. It may be true for any client, but I didn't
</EM><BR>
<EM>&gt; try it.
</EM><BR>
<P>The &quot;bug&quot; is, that not every sanei call tests the wire.status field.
<BR>
Here, in sanei_w_init_reply sanei_w_status is callen. It requests 4
<BR>
bytes (reply.status), receives none, ignores the error status and reads
<BR>
4 bytes. Then sanei_w_word (reply.version_code) is callen and requests 4
<BR>
bytes. Now sanei_w_space thinks, there are still -4 bytes in the buffer
<BR>
(because sanei_w_status read 4 bytes which didn't exist) and call
<BR>
memcpy(len = -4) which produces a SIGSEGV...
<BR>
<P>In this case, bin_w_word in sanei_codec_bin ignored the error code when
<BR>
requesting 4 bytes.
<BR>
<P>To fix this bug, one would have to add a test for wire.status != 0 after
<BR>
each sanei_w call in sanei_wire.c, sanei_net.c and sanei_codec_*.c
<BR>
<P>The backend net.c also contains such bugs because it calls sanei_w_*
<BR>
functions without testing the wire.status afterwards...
<BR>
<P>-- jochen
<BR>
<P><PRE>
--
Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20Bug%20report&In-Reply-To=&lt;3961D416.972CE0F0@gno.de&gt;">majordomo@mostang.com</A>
</PRE>
<P><!-- body="end" -->
<HR NOSHADE>
<UL>
<!-- next="start" -->
<LI><STRONG>Next message:</STRONG> <A HREF="0018.html">Marcel Pol: "Gocr"</A>
<LI><STRONG>Previous message:</STRONG> <A HREF="0016.html">Dr. Ing. Dieter Jurzitza: "FW: AGGA SNAPSCAN / Polaroid Sprint Scan 35/LE"</A>
<LI><STRONG>In reply to:</STRONG> <A HREF="0014.html">Avi Schwartz: "Bug report"</A>
<!-- nextthread="start" -->
<!-- reply="end" -->
<LI><STRONG>Messages sorted by:</STRONG>
<A HREF="date.html#17">[ date ]</A>
<A HREF="index.html#17">[ thread ]</A>
<A HREF="subject.html#17">[ subject ]</A>
<A HREF="author.html#17">[ author ]</A>
</UL>
<!-- trailer="footer" -->
<HR NOSHADE>
<P>
<SMALL>
<EM>
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
: <EM>Tue Jul 04 2000 - 04:58:52 PDT</EM>
</EM>
</SMALL>
</BODY>
</HTML>