/* No specific identifier for command reply, call first one found */
(*reply)(ctx, NULL);
else
- silc_free(ctx);
+ silc_client_command_reply_free(ctx);
}
}
SILC_LOG_DEBUG(("Command reply context %p refcnt %d->%d", cmd,
cmd->users + 1, cmd->users));
if (cmd->users < 1) {
+ if (cmd->callbacks)
+ silc_free(cmd->callbacks);
silc_command_payload_free(cmd->payload);
silc_free(cmd);
}
{
SilcClientCommandReplyContext cmd = (SilcClientCommandReplyContext)context;
SilcClientConnection conn = (SilcClientConnection)cmd->sock->user_data;
- void *id;
+ void *id = NULL;
int i;
time_t diff, curtime;
}
}
- silc_free(id);
-
/* Notify application */
COMMAND_REPLY((SILC_ARGS));
out:
+ if (id)
+ silc_free(id);
SILC_CLIENT_PENDING_EXEC(cmd, SILC_COMMAND_PING);
silc_client_command_reply_free(cmd);
}