This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Fri, Apr 2, 2010 at 11:46 AM, Ozkan Sezer <sezeroz@gmail.com> wrote: > Hi: > > socket() and accept() calls do not return "some negative value" on error, > they specifically return "-1". Therefore, the error return checks from > those calls must be done by checking equality to -1 not by being negative. > This is important for Win32 where the SOCKET type is actually unsigned > and the operating system has every right to return a value > INT_MAX and > < UINT_MAX and since gdb is using a signed int type for socket fd (which > is broken for Win64 where SOCKET type is uintptr_t, but that's for another > time), the negativity check may evaluate to true even if the socket() or > accept() call actually succeeded. The attached trivial patch fixes this as > described. For uniformity's sake, I also touched the files under sim/. > Please consider for applying. (The patch file has the ChangeLog. I don't > have write access.) > I seem to have missed a couple of places. Attached the updated patch. -- Ozkan
Attachment:
gdb_socket_err_checks.patch
Description: Binary data
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |