afb-session: Fig tiny bug
[src/app-framework-binder.git] / src / afb-session.c
index 7c8f91c..db7a99a 100644 (file)
@@ -120,7 +120,7 @@ static void free_data (struct afb_session *session)
 void afb_session_init (int max_session_count, int timeout, const char *initok)
 {
        // let's create as store as hashtable does not have any
-       sessions.store = calloc (1 + (unsigned)max_session_count, sizeof(struct afb_session));
+       sessions.store = calloc (1 + (unsigned)max_session_count, sizeof *sessions.store);
        pthread_mutex_init(&sessions.mutex, NULL);
        sessions.max = max_session_count;
        sessions.timeout = timeout;
@@ -135,6 +135,11 @@ void afb_session_init (int max_session_count, int timeout, const char *initok)
        }
 }
 
+const char *afb_session_initial_token()
+{
+       return sessions.initok;
+}
+
 static struct afb_session *search (const char* uuid)
 {
        int  idx;
@@ -444,7 +449,7 @@ void *afb_session_cookie(struct afb_session *session, const void *key, void *(*m
                        cookie = cookie_add(session, idx, key, value, freecb);
                        if (!cookie) {
                                if (makecb && freecb)
-                                       free(value);
+                                       freecb(value);
                                value = NULL;
                        }
                }