git://git.jankratochvil.net
/
udpgate.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
4f41a69
)
Fixed checking of IPv4 port validity.
author
short
<>
Sun, 26 Jun 2005 03:00:18 +0000
(
03:00
+0000)
committer
short
<>
Sun, 26 Jun 2005 03:00:18 +0000
(
03:00
+0000)
src/network.c
patch
|
blob
|
history
diff --git
a/src/network.c
b/src/network.c
index
59d3a9a
..
c658c13
100644
(file)
--- a/
src/network.c
+++ b/
src/network.c
@@
-580,19
+580,26
@@
size_t packet_length;
static gboolean master_start(gint port)
{
struct sockaddr_in sockaddr_in;
static gboolean master_start(gint port)
{
struct sockaddr_in sockaddr_in;
+uint16_t port_use;
g_return_val_if_fail(port>=0,FALSE);
g_return_val_if_fail(master==NULL,FALSE);
g_return_val_if_fail(port>=0,FALSE);
g_return_val_if_fail(master==NULL,FALSE);
+ port_use=port;
+ if (port < 0 || port_use != port) {
+ g_warning(_("Port value %d is not valid for IPv4!"),(int)port);
+ return FALSE;
+ }
+
/* Setup 'master': */
if (!(master=client_new()))
return FALSE;
UDPGATE_MEMZERO(&sockaddr_in);
sockaddr_in.sin_family=AF_INET;
/* Setup 'master': */
if (!(master=client_new()))
return FALSE;
UDPGATE_MEMZERO(&sockaddr_in);
sockaddr_in.sin_family=AF_INET;
- sockaddr_in.sin_port=htons(port);
+ sockaddr_in.sin_port=htons(port
_use
);
sockaddr_in.sin_addr.s_addr=htonl(INADDR_ANY);
if (bind(master->gpollfd.fd,(struct sockaddr *)&sockaddr_in,sizeof(sockaddr_in))) {
sockaddr_in.sin_addr.s_addr=htonl(INADDR_ANY);
if (bind(master->gpollfd.fd,(struct sockaddr *)&sockaddr_in,sizeof(sockaddr_in))) {
- g_warning("bind(sock,{AF_INET,INADDR_ANY:%
d}): %m",(int)port
);
+ g_warning("bind(sock,{AF_INET,INADDR_ANY:%
u}): %m",(unsigned)port_use
);
return FALSE;
}
return TRUE;
return FALSE;
}
return TRUE;