fix off-by-one in dup2

Corinna Vinschen corinna-cygwin@cygwin.com
Wed Dec 4 12:04:00 GMT 2013


On Dec  4 12:36, Corinna Vinschen wrote:
> On Dec  4 10:32, Corinna Vinschen wrote:
> > Hi guys,
> > [...etc...]
> > The problem is still present in the current sources.
> > [...]

Ouch, ouch, ouch!  I tested the wrong DLL.  Actually current CVS fixes
this problem.  Duh.  Sorry for the confusion.

One question, though.  Assuming start is == size, then the current code
in CVS extends the fd table by only 1.  If that happens often, the
current code would have to call ccalloc/memcpy/cfree a lot.  Wouldn't
it in fact be better to extend always by at least NOFILE_INCR, and to
extend by (1 + start - size) only if start is > size + NOFILE_INCR?
Something like

  size_t extendby = (start >= size + NOFILE_INCR) ? 1 + start - size : NOFILE_INCR;

?

Sorry again.  Fortunately it's my WJM week...


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20131204/d9ad9cf9/attachment.sig>


More information about the Cygwin-patches mailing list