char line[1024];
char *p;
unsigned t = 0;
+
+ snprintf(line, 1000, "%s", s); // [HGM] limit length to 1000, to prevent crashing timeseal decoder
/* send the encoded data to the decoder process */
- dprintf(timeseal_globals.decoder_conn, "%s\n", s);
+ dprintf(timeseal_globals.decoder_conn, "%s\n", line);
if (!fd_gets(line, sizeof(line), timeseal_globals.decoder_conn)) {
d_printf("Bad result from timeseal decoder? (t=%u)\n", t);
pcommand(pp->opponent, "flag");
}
} else if (pp->side == BLACK) {
- gg->bRealTime -= con->time - gg->wTimeWhenReceivedMove;
+ gg->bRealTime -= con->time - gg->bTimeWhenReceivedMove;
gg->bTimeWhenReceivedMove = con->time;
if (gg->bRealTime < 0) {
pcommand(pp->opponent, "flag");