[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Problem building 0.8.0 with VS 2015
[Thread Prev] | [Thread Next]
- Subject: Re: Problem building 0.8.0 with VS 2015
- From: Andreas Schneider <asn@xxxxxxxxxxxxxx>
- Reply-to: libssh@xxxxxxxxxx
- Date: Tue, 14 Aug 2018 08:15:47 +0200
- To: libssh@xxxxxxxxxx
On Monday, 13 August 2018 23:22:07 CEST John Dunn wrote: > On Monday, August 13, 2018 12:18 PM Andreas Schneider wrote: > > This should fix it: > >https://git.libssh.org/users/asn/libssh.git/log/?h=master-fix > > I get the following error when loading the DLL. My guess is that the > DLL_THREAD_ATTACH event is causing this issue. Initializing rc to 0 fixes > the issue. > > --------------------------- > Microsoft Visual C++ Runtime Library > --------------------------- > Debug Error! > > Program: ..xxx\Debug\sshd.dll > Module: ...xxx\Debug\sshd.dll > File: c:\code\foo\libssh\src\init.c > Line: 239 > > Run-Time Check Failure #3 - The variable 'rc' is being used without being > initialized. > > (Press Retry to debug the application) > > --------------------------- > Abort Retry Ignore > --------------------------- It took me a while to find the documentation I hope this is correct now. Please use try the attached patch on top of 0.8.1. Thanks!
From 198ac1359bbab296c8f3f52c31975cfa7969da64 Mon Sep 17 00:00:00 2001 From: Andreas Schneider <asn@xxxxxxxxxxxxxx> Date: Tue, 14 Aug 2018 08:13:37 +0200 Subject: [PATCH] init: Fix DllMain Signed-off-by: Andreas Schneider <asn@xxxxxxxxxxxxxx> --- src/init.c | 26 +++++++++++++++++--------- 1 file changed, 17 insertions(+), 9 deletions(-) diff --git a/src/init.c b/src/init.c index ea3e6432..dc8d8cef 100644 --- a/src/init.c +++ b/src/init.c @@ -226,19 +226,27 @@ int ssh_finalize(void) { #ifdef _MSC_VER /* Library constructor and destructor */ -BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) +BOOL WINAPI DllMain(HINSTANCE hinstDLL, + DWORD fdwReason, + LPVOID lpvReserved) { - int rc; + int rc = 0; - if (fdwReason == DLL_PROCESS_ATTACH) { - rc = ssh_init(); - } else if (fdwReason == DLL_PROCESS_DETACH) { - rc = ssh_finalize(); + switch(fdwReason) { + case DLL_PROCESS_ATTACH: + rc = _ssh_init(1); + if (rc != 0) { + fprintf(stderr, "DllMain: ssh_init failed!"); + return FALSE; + } + break; + case DLL_PROCESS_DETACH: + _ssh_finalize(1); + break; + default: + break; } - if (rc != 0) { - return FALSE; - } return TRUE; } #endif /* _MSC_VER */ -- 2.17.1
Problem building 0.8.0 with VS 2015 | John Dunn <John.Dunn@xxxxxxx> |
Re: Problem building 0.8.0 with VS 2015 | Andreas Schneider <asn@xxxxxxxxxxxxxx> |
RE: Problem building 0.8.0 with VS 2015 | John Dunn <John.Dunn@xxxxxxx> |