* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., *
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. *
***************************************************************************/
#ifdef HAVE_CONFIG_H
if (retval != ERROR_OK) {
close_socket(c->fd);
LOG_ERROR("attempted '%s' connection rejected", service->name);
+ command_done(c->cmd_ctx);
free(c);
return retval;
}
retval = service->new_connection(c);
if (retval != ERROR_OK) {
LOG_ERROR("attempted '%s' connection rejected", service->name);
+ command_done(c->cmd_ctx);
free(c);
return retval;
}
retval = service->new_connection(c);
if (retval != ERROR_OK) {
LOG_ERROR("attempted '%s' connection rejected", service->name);
+ command_done(c->cmd_ctx);
free(c);
return retval;
}
retval = service->input(c);
if (retval != ERROR_OK) {
struct connection *next = c->next;
- if (service->type == CONNECTION_PIPE) {
+ if (service->type == CONNECTION_PIPE ||
+ service->type == CONNECTION_STDINOUT) {
/* if connection uses a pipe then
- *shutdown openocd on error */
+ * shutdown openocd on error */
shutdown_openocd = 1;
}
remove_connection(service, c);
break;
case 1:
{
+ if (CMD_CTX->mode == COMMAND_EXEC) {
+ LOG_WARNING("unable to change server port after init");
+ return ERROR_COMMAND_ARGUMENT_INVALID;
+ }
const char *t = strdup(CMD_ARGV[0]);
free((void *)*out);
*out = t;