This is a discussion on Re: [PATCHES] Bad bug in fopen() wrapper code within the pgsql Hackers forums, part of the PostgreSQL category; --> "Claudio Natoli" <claudio.natoli@memetrics.com> writes: > Magnus Hagander writes: >> Now, I still twist my head around the lines: >> ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| "Claudio Natoli" <claudio.natoli@memetrics.com> writes: > Magnus Hagander writes: >> Now, I still twist my head around the lines: >> if ((fd = _open_osfhandle((long) h, fileFlags & O_APPEND)) < 0 >> || >> (fileFlags & (O_TEXT | O_BINARY) && (_setmode(fd, >> fileFlags & (O_TEXT | O_BINARY)) < 0))) > Without having studied it closely, it might also highlight a bug on failure of the second clause -- if the _setmode fails, shouldn't _close be called instead of CloseHandle, and -1 returned? (CloseHandle would still be called on failure of the _open_osfhandle, obviously) I agree that this code is both wrong and unreadable (although in practice the _setmode will probably never fail, which is why our attention hasn't been drawn to it). Is someone going to submit a patch? I'm hesitant to change the code myself since I'm not in a position to test it. regards, tom lane ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to majordomo@postgresql.org so that your message can get through to the mailing list cleanly |