A harmless failure to cleanup the config structure before exiting
keydctl and a more major (small, but key runs for a long period of
time) leak of the search string for fetching a key by text string
in keyd.
write(fd, &storebuf.offset,
sizeof(storebuf.offset));
}
+ free(search);
}
break;
case KEYD_CMD_STORE:
configfile = NULL;
if ((argc - optind) < 1) {
+ cleanupconfig();
usage();
} else if (!strcmp("check", argv[optind])) {
/* Just do the connect and close quietly */
keyd_do_command(KEYD_CMD_QUIT, NULL, 0);
keyd_close();
} else {
+ cleanupconfig();
usage();
}
+ cleanupconfig();
exit(EXIT_SUCCESS);
}