On Sat, 9 Mar 2013, Carsten Schoenert wrote:

> Hello Tim,
>
> On Thu, Dec 24, 2009 at 12:59:26AM +1100, Tim Connors wrote:
> > Package: icedove
> > Version: 2.0.0.22-1.1
> > Severity: normal
> >
> > If .signature happens to be a named pipe with a program feeding text
> > into that named pipe, then icedove does *cough* interesting *cough*
> > things:
> >
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> > [pid 20697] lseek(47, 0, SEEK_CUR)      = -1 ESPIPE (Illegal seek)
> >
> > Error checking is good, mmmkay?  Reading a .signature file ought not
> > be any more complicated that while (!eof) { sig+=readline }
> >
> > Playing around with seek when unnecessary seems just silly (as well as
> > not very UNIX like).
>
> what about that issue in current versions?
> Or could this bug closed?

It isn't broken in the same way - now it opens and reads the file twice,
before discarding the text:

29581 stat("/home/tconnors/.signature1", {st_mode=S_IFIFO|0644, st_size=0,
...}) = 0
29581 open("/home/tconnors/.signature1", O_RDONLY) = 47
29581 stat("/home/tconnors/.signature1", {st_mode=S_IFIFO|0644, st_size=0,
...}) = 0
29581 close(47)                         = 0
29581 stat("/home/tconnors/.signature1", {st_mode=S_IFIFO|0644, st_size=0,
...}) = 0
29581 open("/home/tconnors/.signature1", O_RDONLY) = 47
29581 read(47, "TimC\nIf you tried to understand "..., 4096) = 140
29581 read(47, "", 4096)                = 0
29581 close(47)                         = 0

So yep, still broken, but at least not quite as broken.  Progress!

-- 
Tim Connors


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to