fix string usage 62/187262/2
authorMonika Zielinska <m.zielinska3@samsung.com>
Mon, 20 Aug 2018 13:22:10 +0000 (15:22 +0200)
committerMonika Zielinska <m.zielinska3@samsung.com>
Wed, 22 Aug 2018 09:13:52 +0000 (11:13 +0200)
Change-Id: I768140827bf4928cc0a1220f29f35b0a1bb39b62

src/dbus_daemon.c
src/internal/xml_parser.cpp
src/libdbuspolicy1.c

index eb6f5e3..392b556 100755 (executable)
@@ -134,7 +134,7 @@ static int bus_acquire_name(int fd, const char *name)
        item = cmd->items;
        item->type = KDBUS_ITEM_NAME;
        item->size = KDBUS_ITEM_HEADER_SIZE + strlen(name) + 1;
-       strncpy(item->str, name, strlen(name));
+       strncpy(item->str, name, strlen(name) + 1);
 
        /*
         * Employ the command on the connection owner file descriptor.
index 8b84a6e..25cc199 100644 (file)
@@ -27,7 +27,7 @@ std::string expandPath(const std::string& parent_dir, const std::string& path) {
 std::string getDir(std::string path) {
        // dirname may modify path, so we must pass a modifiable char* to it
        char* modifiable_path = new char[path.size() + 1];
-       strcpy(modifiable_path, path.c_str());
+       strncpy(modifiable_path, path.c_str(), path.size() + 1);
        std::string ret = dirname(modifiable_path);
        delete[] modifiable_path;
        return ret;
index 9ae72ea..ec86569 100755 (executable)
@@ -350,7 +350,7 @@ int kdbus_get_conn_info(bool bus_type, const char *destination, struct kdbus_cmd
                cmd->cmd_info.items->size = (__u64)offsetof(struct kdbus_item, data) + (__u64)l + (__u64)1;
                cmd->cmd_info.items->type = KDBUS_ITEM_NAME;
                *(uint64_t*)ALIGNDN8((uintptr_t)cmd->cmd_info.items->str + l) = 0; /* trailing zero + padding */
-               memcpy(cmd->cmd_info.items->str, destination, l);
+               memcpy(cmd->cmd_info.items->str, destination, l + 1);
        }
        r = ioctl(g_conn[bus_type].fd, KDBUS_CMD_CONN_INFO, &cmd->cmd_info);
        if (r < 0) {