KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context(krb5_context context) { krb5_clear_error_message(context); HEIMDAL_MUTEX_destroy(&context->mutex); if (context->flags & KRB5_CTX_F_SOCKETS_INITIALIZED) { rk_SOCK_EXIT(); } memset(context, 0, sizeof(*context)); free(context); }
KRB5_LIB_FUNCTION void KRB5_LIB_CALL krb5_free_context(krb5_context context) { if (context->default_cc_name) free(context->default_cc_name); if (context->default_cc_name_env) free(context->default_cc_name_env); if (context->config_files) krb5_free_config_files(context->config_files); free(context->etypes); free(context->etypes_des); heim_release(context->default_realms); krb5_config_file_free (context, context->cf); free_error_table (context->et_list); free(rk_UNCONST(context->cc_ops)); free(context->kt_types); krb5_clear_error_message(context); if (context->warn_dest != NULL) krb5_closelog(context, context->warn_dest); if (context->debug_dest != NULL) krb5_closelog(context, context->debug_dest); krb5_set_extra_addresses(context, NULL); krb5_set_ignore_addresses(context, NULL); #ifndef HEIMDAL_SMALLER krb5_set_send_to_kdc_func(context, NULL, NULL); #endif #ifdef PKINIT if (context->hx509ctx) hx509_context_free(&context->hx509ctx); #endif HEIMDAL_MUTEX_destroy(context->mutex); free(context->mutex); if (context->flags & KRB5_CTX_F_SOCKETS_INITIALIZED) { rk_SOCK_EXIT(); } memset(context, 0, sizeof(*context)); free(context); }
int main(int argc, char **argv) { struct ifaddrs *addrs = NULL; int ret, optidx = 0; setprogname (argv[0]); if (getarg (args, sizeof(args) / sizeof(args[0]), argc, argv, &optidx)) usage (1); if (help_flag) usage (0); if (version_flag) { fprintf (stderr, "%s from %s-%s\n", getprogname(), PACKAGE, VERSION); return 0; } if (rk_SOCK_INIT()) errx(1, "Couldn't initialize sockets. Err=%d\n", rk_SOCK_ERRNO); ret = getifaddrs(&addrs); if (ret != 0) err(1, "getifaddrs"); if (addrs == NULL) errx(1, "address == NULL"); print_ifaddrs(addrs); /* Check that freeifaddrs doesn't crash */ freeifaddrs(addrs); rk_SOCK_EXIT(); return 0; }
int main(int argc, char **argv) { int optidx = 0; int i; setprogname (argv[0]); if (getarg (args, sizeof(args) / sizeof(args[0]), argc, argv, &optidx)) usage (1); if (help_flag) usage (0); if (version_flag) { fprintf (stderr, "%s from %s-%s\n", getprogname(), PACKAGE, VERSION); return 0; } rk_SOCK_INIT(); argc -= optidx; argv += optidx; if (argc % 2 != 0) usage (1); for (i = 0; i < argc; i += 2) { const char *nodename = argv[i]; if (strcmp (nodename, "null") == 0) nodename = NULL; doit (nodename, argv[i+1]); } rk_SOCK_EXIT(); return 0; }