Я работаю над некоторыми проблемами переполнения буфера, указанными в Fortify, и не могу выяснить проблему.
Намерение здесь состоит в том, чтобы удалить последний вставленный символ в _inbuf
char *_inbuf = inbuf;
while (rflag) {
strncpy(&_inbuf[actlen-1], &_delim, sizeof(_delim)+1);
//_inbuf[actlen-1]=_delim;
_inbuf += actlen;
maxlen -= actlen;
rflag = ReadLine(_inbuf, maxlen, actlen); //This actually calls istream::getline()
}
_inbuf[actlen-1]=0;
Последняя строка жалуется на проблему «переполнения буфера».
Задача ещё не решена.
Других решений пока нет …