Size: a a a

2020 August 11

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Anes
If there is no error, realpath() returns a pointer to the resolved_path.
А если error, realpath возвращает NULL, который нельзя передавать в fopen
источник

A

Anes in supapro.cxx
Artöm Bakri Al-Sarmini
А если error, realpath возвращает NULL, который нельзя передавать в fopen
я так понимаю если не сделать обработку на этот null то анализтор выведет ошибку об этом?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Возможно
источник

A

Anes in supapro.cxx
Artöm Bakri Al-Sarmini
Возможно
Так лучше?
 void COracleConn::FileToLob(const char *binfile)
{
char path[_POSIX_PATH_MAX];
char *res = realpath(binfile, path);
   if (res) {
       FILE* file = fopen(binfile,"rb");
   } else {
       printf("ERROR: Failed to open file '%s'.\n",binfile);
   }
}
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Если закрыть глаза на то, что cwe как была так и осталась, то да
источник

A

Anes in supapro.cxx
Artöm Bakri Al-Sarmini
Если закрыть глаза на то, что cwe как была так и осталась, то да
я не понял
источник

A

Anes in supapro.cxx
ааа нет, кажись понял проблема в том что я путь как бы и получил, но проверки на отслеживание, есть ли доступ по этому пути у пользователя или нет, отсутствует.
источник

A

Anes in supapro.cxx
могу я просто забить что то типо contains("/доступ/к/этой/папке",binfile)?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Зависит от логики приложения
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Anes
ааа нет, кажись понял проблема в том что я путь как бы и получил, но проверки на отслеживание, есть ли доступ по этому пути у пользователя или нет, отсутствует.
Ага
источник

A

Anes in supapro.cxx
В итоге вот что получилось

char access[]="/dir/";
char *output = NULL;
output = strstr (binfile,access);
char path[_POSIX_PATH_MAX];
char *res = realpath(binfile, path);
   if (res && output) {
       FILE* file = fopen(binfile,"rb");
   } else {
       printf("ERROR: Failed to open file '%s'.\n",binfile);
   }
источник

A

Anes in supapro.cxx
устраняет cw?
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
Вроде да
источник

AB

Artöm Bakri Al-Sarmi... in supapro.cxx
output имеет смысл проверять до вызова realpath
источник

A

Anes in supapro.cxx
ок спасибо, исправлю
источник

T

Trimsku in supapro.cxx
Здравствуйте!
А в чем разница подключения .hpp и .cpp в файл?
Просто я её не увидел но чаще подключают .h, .hpp к .cpp чем .cpp к .cpp
источник

NI

Nikita Ivanov in supapro.cxx
Trimsku
Здравствуйте!
А в чем разница подключения .hpp и .cpp в файл?
Просто я её не увидел но чаще подключают .h, .hpp к .cpp чем .cpp к .cpp
первое норм практика, второе уголовное преступление
источник

IZ

Ilia Zviagin in supapro.cxx
Trimsku
Здравствуйте!
А в чем разница подключения .hpp и .cpp в файл?
Просто я её не увидел но чаще подключают .h, .hpp к .cpp чем .cpp к .cpp
Вообще, разницы действительно нет.
Но можно быть разница в коде, который находиться в файле. Код, что кладется в заголовочный файл, как правило, предназначен для того, чтобы его включали в разные единицы трансляции. Код в .cpp - как правило, нет
источник

MN

Mikhail Natalenko in supapro.cxx
Trimsku
Здравствуйте!
А в чем разница подключения .hpp и .cpp в файл?
Просто я её не увидел но чаще подключают .h, .hpp к .cpp чем .cpp к .cpp
"подключение" - это просто копирование указанного файла в свой. Теоретически, можно копировать так любой текстовый файл, осмысленность этого действия на плечах программиста.
источник

T

Trimsku in supapro.cxx
Спасибо
источник