|
@@ -217,6 +217,9 @@ int64_t qmp_guest_file_open(const char *path, const char *mode, Error **errp)
|
|
|
|
|
|
w_path = g_utf8_to_utf16(path, -1, NULL, NULL, &gerr);
|
|
|
if (!w_path) {
|
|
|
+ error_setg(errp, "can't convert 'path' to UTF-16: %s",
|
|
|
+ gerr->message);
|
|
|
+ g_error_free(gerr);
|
|
|
goto done;
|
|
|
}
|
|
|
|
|
@@ -244,10 +247,6 @@ int64_t qmp_guest_file_open(const char *path, const char *mode, Error **errp)
|
|
|
slog("guest-file-open, handle: % " PRId64, fd);
|
|
|
|
|
|
done:
|
|
|
- if (gerr) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED, gerr->message);
|
|
|
- g_error_free(gerr);
|
|
|
- }
|
|
|
g_free(w_path);
|
|
|
return fd;
|
|
|
}
|
|
@@ -279,8 +278,7 @@ static void acquire_privilege(const char *name, Error **errp)
|
|
|
TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &token))
|
|
|
{
|
|
|
if (!LookupPrivilegeValue(NULL, name, &priv.Privileges[0].Luid)) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "no luid for requested privilege");
|
|
|
+ error_setg(errp, "no luid for requested privilege");
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
@@ -288,14 +286,12 @@ static void acquire_privilege(const char *name, Error **errp)
|
|
|
priv.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
|
|
|
|
|
|
if (!AdjustTokenPrivileges(token, FALSE, &priv, 0, NULL, 0)) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "unable to acquire requested privilege");
|
|
|
+ error_setg(errp, "unable to acquire requested privilege");
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
} else {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "failed to open privilege token");
|
|
|
+ error_setg(errp, "failed to open privilege token");
|
|
|
}
|
|
|
|
|
|
out:
|
|
@@ -309,8 +305,7 @@ static void execute_async(DWORD WINAPI (*func)(LPVOID), LPVOID opaque,
|
|
|
{
|
|
|
HANDLE thread = CreateThread(NULL, 0, func, opaque, 0, NULL);
|
|
|
if (!thread) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "failed to dispatch asynchronous command");
|
|
|
+ error_setg(errp, "failed to dispatch asynchronous command");
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1419,22 +1414,19 @@ static void check_suspend_mode(GuestSuspendMode mode, Error **errp)
|
|
|
|
|
|
ZeroMemory(&sys_pwr_caps, sizeof(sys_pwr_caps));
|
|
|
if (!GetPwrCapabilities(&sys_pwr_caps)) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "failed to determine guest suspend capabilities");
|
|
|
+ error_setg(errp, "failed to determine guest suspend capabilities");
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
switch (mode) {
|
|
|
case GUEST_SUSPEND_MODE_DISK:
|
|
|
if (!sys_pwr_caps.SystemS4) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "suspend-to-disk not supported by OS");
|
|
|
+ error_setg(errp, "suspend-to-disk not supported by OS");
|
|
|
}
|
|
|
break;
|
|
|
case GUEST_SUSPEND_MODE_RAM:
|
|
|
if (!sys_pwr_caps.SystemS3) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "suspend-to-ram not supported by OS");
|
|
|
+ error_setg(errp, "suspend-to-ram not supported by OS");
|
|
|
}
|
|
|
break;
|
|
|
default:
|
|
@@ -1946,11 +1938,17 @@ void qmp_guest_set_user_password(const char *username,
|
|
|
|
|
|
user = g_utf8_to_utf16(username, -1, NULL, NULL, &gerr);
|
|
|
if (!user) {
|
|
|
+ error_setg(errp, "can't convert 'username' to UTF-16: %s",
|
|
|
+ gerr->message);
|
|
|
+ g_error_free(gerr);
|
|
|
goto done;
|
|
|
}
|
|
|
|
|
|
wpass = g_utf8_to_utf16(rawpasswddata, -1, NULL, NULL, &gerr);
|
|
|
if (!wpass) {
|
|
|
+ error_setg(errp, "can't convert 'password' to UTF-16: %s",
|
|
|
+ gerr->message);
|
|
|
+ g_error_free(gerr);
|
|
|
goto done;
|
|
|
}
|
|
|
|
|
@@ -1966,10 +1964,6 @@ void qmp_guest_set_user_password(const char *username,
|
|
|
}
|
|
|
|
|
|
done:
|
|
|
- if (gerr) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED, gerr->message);
|
|
|
- g_error_free(gerr);
|
|
|
- }
|
|
|
g_free(user);
|
|
|
g_free(wpass);
|
|
|
g_free(rawpasswddata);
|
|
@@ -2174,8 +2168,7 @@ static void ga_get_win_version(RTL_OSVERSIONINFOEXW *info, Error **errp)
|
|
|
HMODULE module = GetModuleHandle("ntdll");
|
|
|
PVOID fun = GetProcAddress(module, "RtlGetVersion");
|
|
|
if (fun == NULL) {
|
|
|
- error_setg(errp, QERR_QGA_COMMAND_FAILED,
|
|
|
- "Failed to get address of RtlGetVersion");
|
|
|
+ error_setg(errp, "Failed to get address of RtlGetVersion");
|
|
|
return;
|
|
|
}
|
|
|
|