extern "C" unsigned long
cygwin_inet_addr (const char *cp)
{
+ if (check_null_str_errno (cp))
+ return INADDR_NONE;
unsigned long res = inet_addr (cp);
return res;
}
cygwin_inet_network (const char *cp)
{
if (check_null_str_errno (cp))
- return 0;
+ return INADDR_NONE;
unsigned int res = inet_network (cp);
return res;
}
extern "C" void
cygwin_herror (const char *s)
{
+ if (check_null_str (s))
+ return;
if (cygheap->fdtab.not_open (2))
return;
int res;
sigframe thisframe (mainthread);
+ if (check_null_invalid_struct_errno (port))
+ return -1;
+
cygheap_fdnew res_fd;
if (res_fd < 0)
res = -1;
struct sockaddr_in sock_in;
int len = sizeof (sock_in);
+ if (__check_null_invalid_struct_errno (sb, 2 * sizeof(int)))
+ return -1;
+
cygheap_fdnew sb0;
if (sb0 < 0)
goto done;
void __stdcall set_console_title (char *);
void set_console_handler ();
+int __stdcall check_null_str (const char *name) __attribute__ ((regparm(1)));
int __stdcall check_null_empty_str (const char *name) __attribute__ ((regparm(1)));
int __stdcall check_null_empty_str_errno (const char *name) __attribute__ ((regparm(1)));
int __stdcall check_null_str_errno (const char *name) __attribute__ ((regparm(1)));