]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
set / check types on client_io_ctx
authorAlan T. DeKok <aland@freeradius.org>
Tue, 11 Jul 2017 15:50:04 +0000 (11:50 -0400)
committerAlan T. DeKok <aland@freeradius.org>
Tue, 11 Jul 2017 15:50:04 +0000 (11:50 -0400)
src/modules/rlm_radius/rlm_radius.c

index 99ede231cbd45cebe570a5fd9c56d767453d1e87..fa3b3dfa783a4d82920b6fc7aeb5dc72dfa9544f 100644 (file)
@@ -45,6 +45,7 @@ typedef struct rlm_radius_retry_t {
        uint32_t                mrd;                    //!< Maximum retransmission duration
 } rlm_radius_retry_t;
 
+typedef struct rlm_radius_client_io_ctx_t rlm_radius_client_io_ctx_t;
 
 /*
  *     Define a structure for our module configuration.
@@ -230,7 +231,13 @@ bool rlm_radius_update_delay(struct timeval *start, uint32_t *rt, uint32_t *coun
        uint32_t delay, frac;
        struct timeval now, end;
        rlm_radius_retry_t const *retry;
-       rlm_radius_thread_t *t = talloc_parent(client_io_ctx);
+       rlm_radius_thread_t *t;
+
+       (void) talloc_get_type_abort(client_io_ctx, rlm_radius_client_io_ctx_t);
+
+       t = talloc_parent(client_io_ctx);
+
+       (void) talloc_get_type_abort(t, rlm_radius_thread_t);
 
        rad_assert(code > 0);
        rad_assert(code < FR_MAX_PACKET_CODE);
@@ -1160,6 +1167,7 @@ static int mod_thread_instantiate(CONF_SECTION const *cs, void *instance, fr_eve
                return -1;
        }
 
+       talloc_set_type(c->client_io_ctx, rlm_radius_client_io_ctx_t);
        talloc_set_destructor(c, mod_radius_conn_free);
 
        FR_DLIST_INIT(t->queued);