Заголовок может быть немного неправильным... только потому, что я не уверен, указывает ли мой указатель char на NULL или он просто указывает на массив символов размером 0.
Итак, у меня есть
char* data = getenv("QUERY_STRING");
И я хочу проверить, являются ли данные нулевыми (или имеют длину < 1 ). Я пробовал :
if(strlen(data)<1)
, но получаю сообщение об ошибке:
==24945== Invalid read of size 1
==24945== at 0x8048BF9: main (in /cpp.cgi)
==24945== Address 0x1 is not stack'd, malloc'd or (recently) free'd
Я также пробовал
if(data == NULL)
, но с тем же результатом.
Что здесь происходит? Я уже пробовал cout с данными, и это работает нормально. Я просто не могу проверить, является ли оно нулевым или пустой.
Я понимаю, что это две разные вещи (null и empty ). Я хочу знать, какие данные будут здесь, и как проверить, являются ли они нулевыми/пустыми.
-121 ---] 1158333-Недавно я начал использовать capistrano в развертывании моего приложения rails. У меня он работал нормально, а потом вдруг я начал получать эту ошибку
sorry, you must have a tty to run sudo
после каждого гема, который он пытался установить. Я знаю, что эту проблему обычно можно решить, поместив набор :use_sudo, false
в файл deploy.rb, но он у меня уже есть. И самое странное, что я вернул ВЕСЬ свой каталог обратно к тому моменту, когда я точно знаю, что capistrano работает, и он все еще выдает ту же ошибку.
На моем сервере работает CentOS
Чем может быть вызвана проблема? Любые идеи?