RAISE_MALLOC;
errcode = setup(plug);
- switch (setup(plug)) {
+ switch (errcode) {
case mismatch_error:
/* SG plugin return mismatch when in RL mode (and vice versa) */
free(plug);
gras_trp_plugin_t *plug = p;
if (plug) {
- if (plug->exit)
+ if (plug->exit) {
plug->exit(plug);
- else if (plug->data)
+ } else if (plug->data) {
+ DEBUG1("Plugin %s lacks exit(). Free data anyway.",plug->name);
free(plug->data);
+ }
free(plug->name);
free(plug);