]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
RADIUS message initialization cleanup
authorJouni Malinen <j@w1.fi>
Sat, 19 Dec 2009 14:20:53 +0000 (16:20 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 19 Dec 2009 14:20:53 +0000 (16:20 +0200)
src/radius/radius.c

index c3ce86d423889c36e16be008dbffb4ee9a181371..7b69c9b72b1a5bcf5284ca279ff5a5a348ad3cfd 100644 (file)
@@ -20,9 +20,6 @@
 #include "radius.h"
 
 
-static int radius_msg_initialize(struct radius_msg *msg, size_t init_len);
-
-
 static struct radius_attr_hdr *
 radius_get_attr_hdr(struct radius_msg *msg, int idx)
 {
@@ -37,31 +34,11 @@ static void radius_msg_set_hdr(struct radius_msg *msg, u8 code, u8 identifier)
 }
 
 
-struct radius_msg *radius_msg_new(u8 code, u8 identifier)
-{
-       struct radius_msg *msg;
-
-       msg = os_malloc(sizeof(*msg));
-       if (msg == NULL)
-               return NULL;
-
-       if (radius_msg_initialize(msg, RADIUS_DEFAULT_MSG_SIZE)) {
-               os_free(msg);
-               return NULL;
-       }
-
-       radius_msg_set_hdr(msg, code, identifier);
-
-       return msg;
-}
-
-
 static int radius_msg_initialize(struct radius_msg *msg, size_t init_len)
 {
-       if (msg == NULL || init_len < sizeof(struct radius_hdr))
+       if (init_len < sizeof(struct radius_hdr))
                return -1;
 
-       os_memset(msg, 0, sizeof(*msg));
        msg->buf = os_zalloc(init_len);
        if (msg->buf == NULL)
                return -1;
@@ -86,6 +63,25 @@ static int radius_msg_initialize(struct radius_msg *msg, size_t init_len)
 }
 
 
+struct radius_msg * radius_msg_new(u8 code, u8 identifier)
+{
+       struct radius_msg *msg;
+
+       msg = os_zalloc(sizeof(*msg));
+       if (msg == NULL)
+               return NULL;
+
+       if (radius_msg_initialize(msg, RADIUS_DEFAULT_MSG_SIZE)) {
+               os_free(msg);
+               return NULL;
+       }
+
+       radius_msg_set_hdr(msg, code, identifier);
+
+       return msg;
+}
+
+
 void radius_msg_free(struct radius_msg *msg)
 {
        os_free(msg->buf);
@@ -480,7 +476,7 @@ struct radius_msg *radius_msg_parse(const u8 *data, size_t len)
                       (unsigned long) len - msg_len);
        }
 
-       msg = os_malloc(sizeof(*msg));
+       msg = os_zalloc(sizeof(*msg));
        if (msg == NULL)
                return NULL;