- Replaced hardcoded buffer sizes with `constexpr size_t aBufferSize` constants
- Added `width()` calls to input streams before reading to prevent buffer overflows
- Applied consistent buffer size management across multiple input operations
Standard_Integer num = 0;
if (!name || name[0] == '\0')
{
Standard_Integer num = 0;
if (!name || name[0] == '\0')
{
+ constexpr size_t aBufferSize = 80;
+ char ligne[aBufferSize];
+ std::cin.width(aBufferSize);
std::cin >> ligne;
// std::cin.clear(); std::cin.getline (ligne,79);
if (ligne[0] == '\0')
std::cin >> ligne;
// std::cin.clear(); std::cin.getline (ligne,79);
if (ligne[0] == '\0')
Standard_Integer nbp, i;
Standard_Real x, y, z;
iFile >> nbp;
Standard_Integer nbp, i;
Standard_Real x, y, z;
iFile >> nbp;
+ constexpr size_t aBufferSize = 3;
+ char dimen[aBufferSize];
+ iFile.width(aBufferSize);
iFile >> dimen;
if (!strcmp(dimen, "3d"))
{
iFile >> dimen;
if (!strcmp(dimen, "3d"))
{
Standard_Integer num = 0;
if (!name || name[0] == '\0')
{
Standard_Integer num = 0;
if (!name || name[0] == '\0')
{
+ constexpr size_t aBufferSize = 80;
+ char ligne[aBufferSize];
+ std::cin.width(aBufferSize);
std::cin >> ligne;
// std::cin.clear(); std::cin.getline (ligne,79);
if (ligne[0] == '\0')
std::cin >> ligne;
// std::cin.clear(); std::cin.getline (ligne,79);
if (ligne[0] == '\0')
modepri = -1;
// amv 26.09.2003 : this is used to avoid error of enter's symbol
modepri = -1;
// amv 26.09.2003 : this is used to avoid error of enter's symbol
+ constexpr size_t aBufferSize = 80;
+ char str[aBufferSize];
+ std::cin.width(aBufferSize);
std::cin >> str;
modepri = Draw::Atoi(str);
}
std::cin >> str;
modepri = Draw::Atoi(str);
}
<< std::flush;
answer = -1;
// amv 26.09.2003
<< std::flush;
answer = -1;
// amv 26.09.2003
+ constexpr size_t aBufferSize = 80;
+ char str_a[aBufferSize];
+ std::cin.width(aBufferSize);
std::cin >> str_a;
answer = Draw::Atoi(str_a);
}
std::cin >> str_a;
answer = Draw::Atoi(str_a);
}
<< std::flush;
answer = -1;
// anv 26.09.2003
<< std::flush;
answer = -1;
// anv 26.09.2003
+ constexpr size_t aBufferSize = 80;
+ char str_answer[aBufferSize];
+ std::cin.width(aBufferSize);
std::cin >> str_answer;
answer = Draw::Atoi(str_answer);
}
std::cin >> str_answer;
answer = Draw::Atoi(str_answer);
}