X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;f=gui.cpp;h=79000a1a172aa88e75404051e1d8c885db3a79a5;hb=4f7514a8b856d31e1f26984e54bb5e27d475f71a;hp=a0dfaa27910b83721d60ad28bb4d9349489600ea;hpb=3b12cdde22a08bdbc9e4566fcb83cf9d51324af4;p=nssm.git diff --git a/gui.cpp b/gui.cpp index a0dfaa2..79000a1 100644 --- a/gui.cpp +++ b/gui.cpp @@ -450,7 +450,7 @@ int configure(HWND window, nssm_service_t *service, nssm_service_t *orig_service service->username = 0; service->usernamelen = 0; if (service->password) { - SecureZeroMemory(service->password, service->passwordlen); + SecureZeroMemory(service->password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, service->password); } service->password = 0; @@ -539,7 +539,7 @@ int configure(HWND window, nssm_service_t *service, nssm_service_t *orig_service /* Get first password. */ if (! GetDlgItemText(tablist[NSSM_TAB_LOGON], IDC_PASSWORD1, service->password, (int) service->passwordlen)) { HeapFree(GetProcessHeap(), 0, password); - SecureZeroMemory(service->password, service->passwordlen); + SecureZeroMemory(service->password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, service->password); service->password = 0; service->passwordlen = 0; @@ -552,9 +552,9 @@ int configure(HWND window, nssm_service_t *service, nssm_service_t *orig_service /* Get confirmation. */ if (! GetDlgItemText(tablist[NSSM_TAB_LOGON], IDC_PASSWORD2, password, (int) service->passwordlen)) { - SecureZeroMemory(password, service->passwordlen); + SecureZeroMemory(password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, password); - SecureZeroMemory(service->password, service->passwordlen); + SecureZeroMemory(service->password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, service->password); service->password = 0; service->passwordlen = 0; @@ -568,9 +568,9 @@ int configure(HWND window, nssm_service_t *service, nssm_service_t *orig_service /* Compare. */ if (_tcsncmp(password, service->password, service->passwordlen)) { popup_message(window, MB_OK | MB_ICONEXCLAMATION, NSSM_GUI_MISSING_PASSWORD); - SecureZeroMemory(password, service->passwordlen); + SecureZeroMemory(password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, password); - SecureZeroMemory(service->password, service->passwordlen); + SecureZeroMemory(service->password, service->passwordlen * sizeof(TCHAR)); HeapFree(GetProcessHeap(), 0, service->password); service->password = 0; service->passwordlen = 0; @@ -808,8 +808,8 @@ int remove(HWND window) { case 3: popup_message(window, MB_OK | MB_ICONEXCLAMATION, NSSM_GUI_SERVICE_NOT_INSTALLED); - return 3; cleanup_nssm_service(service); + return 3; case 4: popup_message(window, MB_OK | MB_ICONEXCLAMATION, NSSM_GUI_REMOVE_SERVICE_FAILED);