Fix Svace issue
[platform/core/connectivity/smartcard-service.git] / server / ServerResource.cpp
old mode 100644 (file)
new mode 100755 (executable)
index 1b06abe..55e0d8f
@@ -849,6 +849,11 @@ namespace smartcard_service_api
                                if (item->second != IntegerHandle::INVALID_HANDLE) {
                                        terminal = getTerminal(item->second);
                                        if (terminal != NULL) {
+                                               if (terminal->getName() == NULL) {
+                                                       _ERR("terminal name is NULL");
+                                                       return -1;
+                                               }
+
                                                if (terminal->isSecureElementPresence()) {
                                                        length += sizeof(nameLen) + strlen(terminal->getName()) + sizeof(unsigned int);
                                                        result++;
@@ -857,9 +862,9 @@ namespace smartcard_service_api
                                }
                        }
 
-                       buffer = new unsigned char[length];
+                       buffer = new unsigned char[length + 1];
                        if (buffer != NULL) {
-                               memset(buffer, 0, length);
+                               memset(buffer, 0, length + 1);
 
                                for (item = mapReaders.begin(); item != mapReaders.end(); item++) {
                                        if (item->second != IntegerHandle::INVALID_HANDLE) {
@@ -876,6 +881,8 @@ namespace smartcard_service_api
 
                                                                memcpy(buffer + offset, &item->first, sizeof(unsigned int));
                                                                offset += sizeof(unsigned int);
+
+                                                               buffer[offset] = '\0';
                                                        }
                                                }
                                        }