A simple write() might be interrupted or do short writes. Highly
unlikely, but if it happens, it will be impossible to diagnose.
Signed-off-by: Volker Lendecke <vl@samba.org>
Reviewed-by: Jeremy Allison <jra@samba.org>
#include "libds/common/flag_mapping.h"
#include "lib/util/access.h"
#include "lib/util/util_str_hex.h"
+#include "lib/util/sys_rw_data.h"
#include "libcli/util/ntstatus.h"
/*
cps_stdin = samba_runcmd_export_stdin(req);
- nwritten = write(cps_stdin, utf8_blob->data,
- utf8_blob->length);
- if (nwritten != utf8_blob->length) {
+ nwritten = write_data(
+ cps_stdin, utf8_blob->data, utf8_blob->length);
+ if (nwritten == -1) {
close(cps_stdin);
TALLOC_FREE(password_script);
TALLOC_FREE(event_ctx);