chiark / gitweb /
udp: Insist on only one successful default socket setup
[secnet.git] / util.c
diff --git a/util.c b/util.c
index 803098cb2b81183eae8161a963ff27d7c0c5c8d6..d1621fcb5acfe3534556cf17843c1c42ec4d05e6 100644 (file)
--- a/util.c
+++ b/util.c
@@ -240,7 +240,7 @@ bool_t add_hook(uint32_t phase, hook_fn *fn, void *state)
 {
     struct phase_hook *h;
 
-    h=safe_malloc(sizeof(*h),"add_hook");
+    NEW(h);
     h->fn=fn;
     h->state=state;
     LIST_INSERT_HEAD(&hooks[phase],h,entry);
@@ -398,7 +398,7 @@ static list_t *buffer_apply(closure_t *self, struct cloc loc, dict_t *context,
     bool_t lockdown=False;
     uint32_t len=DEFAULT_BUFFER_SIZE;
     
-    st=safe_malloc(sizeof(*st),"buffer_apply");
+    NEW(st);
     st->cl.description="buffer";
     st->cl.type=CL_BUFFER;
     st->cl.apply=NULL;
@@ -526,6 +526,7 @@ void string_item_to_iaddr(const item_t *item, uint16_t port, union iaddr *ia,
 
     ia->sin.sin_family=AF_INET;
     ia->sin.sin_addr.s_addr=string_item_to_ipaddr(item,desc);
+    ia->sin.sin_port=htons(port);
 
 #else /* CONFIG_IPV6 => we have adns_text2addr */