projects
/
silc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
silcnet: handle OOM situation gracefully
[silc.git]
/
lib
/
silcutil
/
silcnet.c
diff --git
a/lib/silcutil/silcnet.c
b/lib/silcutil/silcnet.c
index 60a8a47730407ed24698aa1998bd42a573031b72..e2f7e23939791b79e56a9aba700144b3f9da3ce1 100644
(file)
--- a/
lib/silcutil/silcnet.c
+++ b/
lib/silcutil/silcnet.c
@@
-447,8
+447,11
@@
SilcBool silc_net_check_host_by_sock(SilcSocket sock, char **hostname,
if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
+ SILC_LOG_DEBUG(("Resolved hostname `%s'", host));
+
*hostname = silc_memdup(host, strlen(host));
*hostname = silc_memdup(host, strlen(host));
- SILC_LOG_DEBUG(("Resolved hostname `%s'", *hostname));
+ if (!(*hostname))
+ return FALSE;
/* Reverse */
if (!silc_net_gethostbyname(*hostname, TRUE, host, sizeof(host)))
/* Reverse */
if (!silc_net_gethostbyname(*hostname, TRUE, host, sizeof(host)))
@@
-533,8
+536,11
@@
SilcBool silc_net_check_local_by_sock(SilcSocket sock, char **hostname,
if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
if (!ip || !silc_net_gethostbyaddr(*ip, host, sizeof(host)))
return FALSE;
+ SILC_LOG_DEBUG(("Resolved hostname `%s'", host));
+
*hostname = silc_memdup(host, strlen(host));
*hostname = silc_memdup(host, strlen(host));
- SILC_LOG_DEBUG(("Resolved hostname `%s'", *hostname));
+ if (!(*hostname))
+ return FALSE;
/* Reverse */
if (!silc_net_gethostbyname(*hostname, TRUE, host, sizeof(host)))
/* Reverse */
if (!silc_net_gethostbyname(*hostname, TRUE, host, sizeof(host)))