Code:
int i = 0;
int j = 0;
int Sorted = 0;
widget *Widget_to_Sort_Ptr;
widget Widget_to_Sort;
Widget_to_Sort_Ptr = &Widget_to_Sort;
for(i = 0; i < array_size; i++)
{
j = i;
Sorted = 0;
while(Sorted == 0)
{
if(j == 0)
{
Widget_to_Sort_Ptr[j] = widget_array[j];
Sorted = 1;
}
else if(widget_array[j].Pattern < Widget_to_Sort_Ptr[j-1].Pattern)
{
Widget_to_Sort_Ptr[j] = Widget_to_Sort_Ptr[j-1];
Widget_to_Sort_Ptr[j-1] = widget_array[j];
}
else
{
Widget_to_Sort_Ptr[j] = widget_array[j];
Sorted = 1;
}
j--;
}
}
I get a buffer overflow runtime error when it reaches:
Code:
Widget_to_Sort_Ptr[j] = Widget_to_Sort_Ptr[j-1];
Widget_to_Sort_Ptr[j-1] = widget_array[j];