@@ -32,14 +32,15 @@ void QSpiAnalyzerResults::GenerateBubbleText(U64 frame_index, Channel &channel,
3232 U32 bit_count = GetStateBitCount (mSettings , transaction_state);
3333 U32 clock_count = GetStateClockCount (mSettings , transaction_state, data_lines);
3434
35- char number_str[128 ];
36- char result_str[128 ];
35+ char number_str[128 ] = { 0 } ;
36+ char result_str[128 ] = { 0 } ;
3737
3838 if (frame.mType == QSpiTypes::DUMMY_STATE)
3939 {
4040 AddResultString (" X" );
4141 AddResultString (" Dummy" );
4242 data_index = 0 ;
43+ return ;
4344 }
4445 else
4546 {
@@ -65,7 +66,6 @@ void QSpiAnalyzerResults::GenerateBubbleText(U64 frame_index, Channel &channel,
6566 AddResultString (number_str);
6667 snprintf (result_str, sizeof (result_str), " Data: %s" , number_str);
6768 AddResultString (result_str);
68- snprintf (result_str, sizeof (result_str), " Data %d: %s" , data_index++, number_str);
6969 break ;
7070 }
7171
@@ -101,21 +101,21 @@ void QSpiAnalyzerResults::GenerateExportFile(const char *file, DisplayBase displ
101101 continue ;
102102 }
103103
104- char time_str[128 ];
105- AnalyzerHelpers::GetTimeString (frame.mStartingSampleInclusive , trigger_sample, sample_rate, time_str, 128 );
104+ char time_str[128 ] = { 0 } ;
105+ AnalyzerHelpers::GetTimeString (frame.mStartingSampleInclusive , trigger_sample, sample_rate, time_str, sizeof (time_str) );
106106
107- char data_str[128 ] = " " ;
107+ char data_str[128 ] = { 0 } ;
108108
109109 QSpiTypes::TransactionState transaction_state = (QSpiTypes::TransactionState)frame.mType ;
110110 QSpiTypes::IOMode data_lines = GetIOMode (mSettings , transaction_state);
111111 U32 bit_count = GetStateBitCount (mSettings , transaction_state);
112112 U32 clock_count = GetStateClockCount (mSettings , transaction_state, data_lines);
113113
114114 if (frame.mType == QSpiTypes::DUMMY_STATE){
115- strcpy (data_str, " Dummy" );
115+ strncpy (data_str, " Dummy" , sizeof (data_str) );
116116 }
117117 else {
118- AnalyzerHelpers::GetNumberString (frame.mData1 , display_base, bit_count, data_str, 128 );
118+ AnalyzerHelpers::GetNumberString (frame.mData1 , display_base, bit_count, data_str, sizeof (data_str) );
119119 }
120120
121121 U64 packet_id = GetPacketContainingFrameSequential (i);
@@ -144,7 +144,7 @@ void QSpiAnalyzerResults::GenerateFrameTabularText(U64 frame_index, DisplayBase
144144 Frame frame = GetFrame (frame_index);
145145
146146
147- char data_str[128 ];
147+ char data_str[128 ] = { 0 } ;
148148 QSpiTypes::TransactionState transaction_state = (QSpiTypes::TransactionState)frame.mType ;
149149 QSpiTypes::IOMode data_lines = GetIOMode (mSettings , transaction_state);
150150 U32 bit_count = GetStateBitCount (mSettings , transaction_state);
@@ -157,16 +157,11 @@ void QSpiAnalyzerResults::GenerateFrameTabularText(U64 frame_index, DisplayBase
157157 if (frame.mType != QSpiTypes::DATA_STATE && data_index > 0 )
158158 {
159159 data_index = 0 ;
160- /* ss << " ";
161- AddTabularText(ss.str().c_str());
162- ss.clear();*/
163160 }
164161
165162 if (frame.mType == QSpiTypes::DUMMY_STATE)
166163 {
167- /* ss << "Dummy: ";
168- strcpy(data_str, "(Dummy)");*/
169- sprintf (data_str, " (Dummy) %d bits" , bit_count);
164+ snprintf (data_str, sizeof (data_str), " (Dummy) %d bits" , bit_count);
170165 }
171166 else
172167 {
@@ -179,13 +174,11 @@ void QSpiAnalyzerResults::GenerateFrameTabularText(U64 frame_index, DisplayBase
179174 ss << " Addr: " ;
180175 break ;
181176 case QSpiTypes::DATA_STATE:
182- sprintf (data_str, " Data %d: " , data_index++);
183- // ss << "Data: ";
184- ss << data_str;
177+ snprintf (data_str, sizeof (data_str), " Data %d: " , data_index++);
185178 break ;
186179 }
187180
188- AnalyzerHelpers::GetNumberString (frame.mData1 , display_base, bit_count, data_str, 128 );
181+ AnalyzerHelpers::GetNumberString (frame.mData1 , display_base, bit_count, data_str, sizeof (data_str) );
189182 }
190183
191184 ss << data_str;
0 commit comments