Fix Svace issue 05/197905/6 accepted/tizen/unified/20190118.055701 accepted/tizen/unified/20190128.061529 submit/tizen/20190117.054631 submit/tizen/20190123.011519
authorVBS <vdtizen.sds@samsung.com>
Thu, 17 Jan 2019 05:04:04 +0000 (14:04 +0900)
committerVBS <vdtizen.sds@samsung.com>
Thu, 17 Jan 2019 05:36:52 +0000 (14:36 +0900)
- WGID : 371009

Change-Id: I7366956561bd33d916d4bf2fd7af1440020c6f33

server/ServerResource.cpp [changed mode: 0644->0755]

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';
                                                        }
                                                }
                                        }