diff options
| author | Andre Heinecke <[email protected]> | 2018-08-08 07:22:46 +0000 | 
|---|---|---|
| committer | Andre Heinecke <[email protected]> | 2018-08-08 07:22:46 +0000 | 
| commit | 3b782443600e8091c5f19580cb218100bcbb4ad7 (patch) | |
| tree | 972441765476b917ecb47aeec5b07884ff39f35b /lang/cpp | |
| parent | Make GNUPGHOME for tests overridable (diff) | |
| download | gpgme-3b782443600e8091c5f19580cb218100bcbb4ad7.tar.gz gpgme-3b782443600e8091c5f19580cb218100bcbb4ad7.zip  | |
cpp: Fix use after free in gencardkeyinteractor
* lang/cpp/src/gpggencardkeyinteractor.cpp
(GpgGenCardKeyInteractor::Private::keysize): Change to string.
--
The value is only required as string so we can save it this
way to avoid the need to convert it for the action command.
GnuPG-Bug-Id: T4094
Diffstat (limited to 'lang/cpp')
| -rw-r--r-- | lang/cpp/src/gpggencardkeyinteractor.cpp | 9 | 
1 files changed, 4 insertions, 5 deletions
diff --git a/lang/cpp/src/gpggencardkeyinteractor.cpp b/lang/cpp/src/gpggencardkeyinteractor.cpp index 6f42e473..0ed6781a 100644 --- a/lang/cpp/src/gpggencardkeyinteractor.cpp +++ b/lang/cpp/src/gpggencardkeyinteractor.cpp @@ -36,12 +36,11 @@ using namespace GpgME;  class GpgGenCardKeyInteractor::Private  {  public: -    Private() : keysize(2048), backup(false) +    Private() : keysize("2048"), backup(false)      {      } -    std::string name, email, backupFileName, expiry, serial; -    int keysize; +    std::string name, email, backupFileName, expiry, serial, keysize;      bool backup;  }; @@ -70,7 +69,7 @@ void GpgGenCardKeyInteractor::setDoBackup(bool value)  void GpgGenCardKeyInteractor::setKeySize(int value)  { -    d->keysize = value; +    d->keysize = std::to_string(value);  }  void GpgGenCardKeyInteractor::setExpiry(const std::string &timeStr) @@ -132,7 +131,7 @@ const char *GpgGenCardKeyInteractor::action(Error &err) const      case SIZE:      case SIZE2:      case SIZE3: -        return std::to_string(d->keysize).c_str(); +        return d->keysize.c_str();      case COMMENT:          return "";      case SAVE:  | 
