along with systemd; If not, see <http://www.gnu.org/licenses/>.
***/
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+#include <valgrind/memcheck.h>
+#endif
+
#include <stddef.h>
#include <errno.h>
size_t l;
l = strlen(name);
- n = alloca(offsetof(struct kdbus_cmd_name, name) + l + 1);
+ n = alloca0(offsetof(struct kdbus_cmd_name, name) + l + 1);
n->size = offsetof(struct kdbus_cmd_name, name) + l + 1;
- n->flags = flags;
- n->id = 0;
+ n->name_flags = flags;
memcpy(n->name, name, l+1);
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+ VALGRIND_MAKE_MEM_DEFINED(n, n->size);
+#endif
+
r = ioctl(bus->input_fd, KDBUS_CMD_NAME_ACQUIRE, n);
if (r < 0)
return -errno;
- return n->flags;
+ return n->name_flags;
} else {
r = sd_bus_call_method(
bus,
size_t l;
l = strlen(name);
- n = alloca(offsetof(struct kdbus_cmd_name, name) + l + 1);
+ n = alloca0(offsetof(struct kdbus_cmd_name, name) + l + 1);
n->size = offsetof(struct kdbus_cmd_name, name) + l + 1;
- n->flags = 0;
- n->id = 0;
memcpy(n->name, name, l+1);
+#ifdef HAVE_VALGRIND_MEMCHECK_H
+ VALGRIND_MAKE_MEM_DEFINED(n, n->size);
+#endif
r = ioctl(bus->input_fd, KDBUS_CMD_NAME_RELEASE, n);
if (r < 0)
return -errno;
- return n->flags;
+ return n->name_flags;
} else {
r = sd_bus_call_method(
bus,