metrica
Мы используем куки, чтобы пользоваться сайтом было удобно.
Хорошо
to the top
close form

Заполните форму в два простых шага ниже:

Ваши контактные данные:

Шаг 1
Поздравляем! У вас есть промокод!

Тип желаемой лицензии:

Шаг 2
Team license
Enterprise license
** Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности
close form
Запросите информацию о ценах
Новая лицензия
Продление лицензии
--Выберите валюту--
USD
EUR
RUB
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Бесплатная лицензия PVS‑Studio для специалистов Microsoft MVP
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Для получения лицензии для вашего открытого
проекта заполните, пожалуйста, эту форму
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
Мне интересно попробовать плагин на:
* Нажимая на кнопку, вы даете согласие на обработку
своих персональных данных. См. Политику конфиденциальности

close form
check circle
Ваше сообщение отправлено.

Мы ответим вам на


Если вы так и не получили ответ, пожалуйста, проверьте папку
Spam/Junk и нажмите на письме кнопку "Не спам".
Так Вы не пропустите ответы от нашей команды.

Вебинар: Трудности при интеграции SAST, как с ними справляться - 04.04

>
>
>
Примеры ошибок, обнаруженных с помощью …

Примеры ошибок, обнаруженных с помощью диагностики V690

V690. The class implements a copy constructor/operator=, but lacks the operator=/copy constructor.


Bitcoin

V690 The 'CKey' class implements a copy constructor, but lacks the the '=' operator. It is dangerous to use such a class. key.h 175


class CKey {
  ....
  // Copy constructor. This is necessary because of memlocking.
  CKey(const CKey &secret) : fValid(secret.fValid),
                             fCompressed(secret.fCompressed)
  {
    LockObject(vch);
    memcpy(vch, secret.vch, sizeof(vch));
  }
  ....
};

Similar errors can be found in some other places:

  • V690 The 'Semantic_actions' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. json_spirit_reader_template.h 196
  • V690 The 'CFeeRate' class implements a copy constructor, but lacks the the '=' operator. It is dangerous to use such a class. core.h 118
  • V690 The 'CTransaction' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. core.h 212
  • And 3 additional diagnostic messages.

Casablanca

V690 The '=' operator is declared as private in the '_acquire_protector' class, but the default copy constructor will still be generated by compiler. It is dangerous to use such a class. cpprestsdk140.uwp.staticlib fileio_winrt.cpp 825


struct _acquire_protector
{
  _acquire_protector(....);
  ~_acquire_protector();
  size_t   m_size;
private:
  _acquire_protector& operator=(const _acquire_protector&);
  uint8_t* m_ptr;
  concurrency::streams::streambuf<uint8_t>& m_buffer;
};

OpenJDK

V690 Copy constructor is declared as private in the 'ProductionState' class, but the default '=' operator will still be generated by compiler. It is dangerous to use such a class. dfa.cpp 76


class ProductionState {
  ....
private:
    // Disable public use of constructor, copy-ctor,  ...
  ProductionState( )                         :
  _production(cmpstr, hashstr, Form::arena)
  {  assert( false, "NotImplemented");  };
  ProductionState( const ProductionState & ) :
  _production(cmpstr, hashstr, Form::arena)
  {  assert( false, "NotImplemented");  }; // Deep-copy
};

Similar errors can be found in some other places:

  • V690 The 'MemRegion' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. memRegion.hpp 43
  • V690 Copy constructor is declared as private in the 'Label' class, but the default '=' operator will still be generated by compiler. It is dangerous to use such a class. assembler.hpp 73

Tizen

V690 The 'SQLQueryPrivate' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. SQLDatabaseImpl.h 26


class SQLQueryPrivate
{
public:
  std::weak_ptr<SQLDatabase> _db_ref;
  sqlite3 * _db;
  sqlite3_stmt * _stmt;
  bool _hasNext;
  std::string _query;

  SQLQueryPrivate(std::shared_ptr<SQLDatabase> db_ref,
                  sqlite3 * db, sqlite3_stmt * stmt,
                  const std::string& query);
  SQLQueryPrivate(const SQLQueryPrivate& other);
  ~SQLQueryPrivate();
};

SQLQueryPrivate::SQLQueryPrivate(const SQLQueryPrivate& other) :
    _db_ref(other._db_ref),
    _db(other._db),
    _stmt(other._stmt),
    _hasNext(other._hasNext),
    _query(other._query)
{
  const_cast<SQLQueryPrivate &>(other)._stmt = NULL;
}

Similar errors can be found in some other places:

  • V690 The 'BrowserImage' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. BrowserImage.h 33
  • V690 The 'DownloadRequest' class implements a copy constructor, but lacks the '=' operator. It is dangerous to use such a class. download-manager-downloadRequest.h 30
  • V690 The 'CAudioError' class implements the '=' operator, but lacks a copy constructor. It is dangerous to use such a class. CAudioError.h 30
  • And 2 additional diagnostic messages.