card_emu: Fail with assert in case next_tpdu_state from wrong state
diff --git a/firmware/src_simtrace/card_emu.c b/firmware/src_simtrace/card_emu.c
index 5eef716..e129869 100644
--- a/firmware/src_simtrace/card_emu.c
+++ b/firmware/src_simtrace/card_emu.c
@@ -17,6 +17,7 @@
*
*/
+#include <assert.h>
#include <errno.h>
#include <string.h>
#include <stdint.h>
@@ -286,6 +287,10 @@
/* FIXME: check PCK */
memcpy(ch->pts.resp, ch->pts.req, sizeof(ch->pts.resp));
break;
+ default:
+ TRACE_DEBUG("process_byte_pts() in invalid state %u\n",
+ ch->pts.state);
+ break;
}
/* calculate the next state and set it */
set_pts_state(ch, next_pts_state(ch));
@@ -412,6 +417,9 @@
case TPDU_S_WAIT_TX:
return TPDU_S_WAIT_TX;
}
+ /* we should never reach here */
+ assert(0);
+ return -1;
}
static void send_tpdu_header(struct card_handle *ch)