Skip to content

Commit 5f4e27c

Browse files
authored
Merge pull request #8 from Hxhao2000/master
修复C++版本中排序与数组越界的漏洞
2 parents c441f2a + 0f404ae commit 5f4e27c

File tree

4 files changed

+6
-5
lines changed

4 files changed

+6
-5
lines changed

c++/SRP/Sort.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,11 @@ sort_result findMaxIndex(int *data, int len)
55
sort_result result;
66

77
result.Maxindex = 0;
8+
result.MaxVal = data[0];
89

910
for (int i = 0; i < len-1; i++)
1011
{
11-
if (data[i] < data[i + 1])
12+
if (result.MaxVal < data[i + 1])
1213
{
1314
result.MaxVal = data[i + 1];
1415
result.Maxindex = i + 1;

c++/SRP/main.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
7777

7878
for (uint16_t i = 0; i < 360; i=i+1)
7979
{
80-
memset(yout, 0, DataLen * sizeof(yout));
80+
memset(yout, 0, DataLen * sizeof(float));
8181
DelaySumURA(data, yout, fs, DataLen, N_FFT, WinLen, 256, r, i);
8282
//Write_File(yout, DataLen, "yout1.txt");
8383
for (uint32_t j = 0; j < DataLen; j++)
@@ -110,7 +110,7 @@ int main(int argc, char *argv[])
110110

111111

112112

113-
//_CrtDumpMemoryLeaks();//调试运行到该步,输出检测信息
113+
//_CrtDumpMemoryLeaks();//�������е��ò�����������Ϣ
114114

115115

116116
return 0;

c++/SRP/main_linux.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ int main(int argc, char *argv[])
7777

7878
for (uint16_t i = 0; i < 360; i=i+1)
7979
{
80-
memset(yout, 0, DataLen * sizeof(yout));
80+
memset(yout, 0, DataLen * sizeof(float));
8181
DelaySumURA(data, yout, fs, DataLen, N_FFT, WinLen, 256, r, i);
8282
//Write_File(yout, DataLen, "yout1.txt");
8383
for (uint32_t j = 0; j < DataLen; j++)

c++/SRP/main_win32.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ int main(int argc, char *argv[])
7676

7777
for (uint16_t i = 0; i < 360; i=i+1)
7878
{
79-
memset(yout, 0, DataLen * sizeof(yout));
79+
memset(yout, 0, DataLen * sizeof(float));
8080
DelaySumURA(data, yout, fs, DataLen, N_FFT, WinLen, 256, r, i);
8181
//Write_File(yout, DataLen, "yout1.txt");
8282
for (uint32_t j = 0; j < DataLen; j++)

0 commit comments

Comments
 (0)