#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)
{
}
-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;
}
+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);
(unsigned long) len - msg_len);
}
- msg = os_malloc(sizeof(*msg));
+ msg = os_zalloc(sizeof(*msg));
if (msg == NULL)
return NULL;