From 3628c31882e371997087ecc0249710340bf170e6 Mon Sep 17 00:00:00 2001 From: "edouard@lafargue.name" Date: Thu, 30 Jul 2009 15:24:03 +0000 Subject: [PATCH] Add checks in em4x50read to avoid segfaults in case loops go over the GraphTraceLen. --- winsrc/command.cpp | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/winsrc/command.cpp b/winsrc/command.cpp index 44e0326b..454fbab2 100644 --- a/winsrc/command.cpp +++ b/winsrc/command.cpp @@ -301,17 +301,19 @@ static void CmdEM4x50read(char *str) while(i < GraphTraceLen) { // measure from low to low - while(GraphBuffer[i] > low) + while((GraphBuffer[i] > low) && (i low) + while((GraphBuffer[i] > low) && (i(MAX_GRAPH_TRACE_LEN/64)) { + break; + } tmpbuff[j++]= i - start; } - /* look for data start - should be 2 pairs of LW (pulses of 192,128) */ start= -1; skip= 0; @@ -1573,7 +1575,7 @@ static void CmdTIWrite(char *str) if (res == 2) c.ext3=0; if (res<2) PrintToScrollback("Please specify 2 or three hex strings, eg 0x1234 0x5678"); - else + else SendCommand(&c, FALSE); } -- 2.39.2