diff options
| -rw-r--r-- | NitrokeyManager.cc | 25 | ||||
| -rw-r--r-- | include/device_proto.h | 2 | ||||
| -rw-r--r-- | include/misc.h | 9 | 
3 files changed, 10 insertions, 26 deletions
| diff --git a/NitrokeyManager.cc b/NitrokeyManager.cc index 096a8c4..9a9d106 100644 --- a/NitrokeyManager.cc +++ b/NitrokeyManager.cc @@ -26,30 +26,7 @@ char * strndup(const char* str, size_t maxlen){  #endif - -  /** -   * Copies string from pointer to fixed size C-style array. Src needs to be a valid C-string - eg. ended with '\0'. -   * Throws when source is bigger than destination. -   * @tparam T type of destination array -   * @param dest fixed size destination array -   * @param src pointer to source c-style valid string -   */ -    template <typename T> -    void strcpyT(T& dest, const char* src){ - -      if (src == nullptr) -//            throw EmptySourceStringException(slot_number); -            return; -        const size_t s_dest = sizeof dest; -      LOG(std::string("strcpyT sizes dest src ") -                                     +std::to_string(s_dest)+ " " -                                     +std::to_string(strlen(src))+ " " -          ,nitrokey::log::Loglevel::DEBUG_L2); -        if (strlen(src) > s_dest){ -            throw TooLongStringException(strlen(src), s_dest, src); -        } -        strncpy((char*) &dest, src, s_dest); -    } +using nitrokey::misc::strcpyT;      template <typename T>      typename T::CommandPayload get_payload(){ diff --git a/include/device_proto.h b/include/device_proto.h index ad2dbae..0d355ce 100644 --- a/include/device_proto.h +++ b/include/device_proto.h @@ -362,7 +362,7 @@ namespace nitrokey {                LOG("Incoming HID packet:", Loglevel::DEBUG);                LOG(static_cast<std::string>(resp), Loglevel::DEBUG);                LOG(std::string("receiving_retry_counter count: ") + std::to_string(receiving_retry_counter), -                              Loglevel::DEBUG); +                              Loglevel::DEBUG_L2);                if (resp.device_status == static_cast<uint8_t>(stick10::device_status::busy) &&                    static_cast<stick20::device_status>(resp.storage_status.device_status) diff --git a/include/misc.h b/include/misc.h index 111d772..176b77c 100644 --- a/include/misc.h +++ b/include/misc.h @@ -21,6 +21,13 @@ namespace misc {        return oss.str();      } +  /** +   * Copies string from pointer to fixed size C-style array. Src needs to be a valid C-string - eg. ended with '\0'. +   * Throws when source is bigger than destination. +   * @tparam T type of destination array +   * @param dest fixed size destination array +   * @param src pointer to source c-style valid string +   */      template <typename T>      void strcpyT(T& dest, const char* src){ @@ -31,7 +38,7 @@ namespace misc {          LOG(std::string("strcpyT sizes dest src ")                                         +std::to_string(s_dest)+ " "                                         +std::to_string(strlen(src))+ " " -            ,nitrokey::log::Loglevel::DEBUG); +            ,nitrokey::log::Loglevel::DEBUG_L2);          if (strlen(src) > s_dest){              throw TooLongStringException(strlen(src), s_dest, src);          } | 
