Skip to content

Commit

Permalink
Vld version 2.5.1
Browse files Browse the repository at this point in the history
  • Loading branch information
KindDragon committed Jan 30, 2017
1 parent e2577d8 commit 0fbf335
Show file tree
Hide file tree
Showing 7 changed files with 48 additions and 36 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,4 @@ src/bin/vld.ini
/src/tests/vld_ComTest/ComTest_p.c
/src/tests/vld_ComTest/ComTest_i.c
*.VC.opendb
*.VC.db
12 changes: 11 additions & 1 deletion CHANGES.txt
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
Visual Leak Detector (VLD) Version 2.5.0
Visual Leak Detector (VLD) Version 2.5.1


Change Log / Release Notes

2.5.1 (30 January 2017)
----------------------------
Enhancements:
+ PDB added to installer.

Bugs Fixed:
+ Fix ntdll loader patch for Windows 10 (1607) Anniversary Update causing crashes (thanks to ioannis-e).
+ Vld dll loading order fixed with MFC.
+ Supressible msgboxes in setup with cmdline /silent /suppressmsgboxes.

2.5 (09 January 2016)
----------------------------
Enhancements:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ We encourage developers who've added their own features, or fixed bugs they've f
* [Source code at Codeplex](http://vld.codeplex.com/SourceControl/BrowseLatest)
* [Source code at GitHub](https://github.com/KindDragon/vld)

Copyright © 2005-2016 VLD Team
Copyright © 2005-2017 VLD Team

[1]: http://vld.codeplex.com/discussions
[2]: https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=N3QTYHP9LH6UY&lc=GB&item_name=Visual%20Leak%20Detector&currency_code=USD&bn=PP%2dDonationsBF%3abtn_donate_SM%2egif%3aNonHosted
Expand Down
10 changes: 5 additions & 5 deletions setup/version.h
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@

#define VLDVERSION L"2.5"
#define VERSION_NUMBER 2,5,0,0
#define VERSION_STRING "2.5.0.0"
#define VERSION_COPYRIGHT "Copyright (C) 2005-2016"
#define VLDVERSION L"2.5.1"
#define VERSION_NUMBER 2,5,1,0
#define VERSION_STRING "2.5.1.0"
#define VERSION_COPYRIGHT "Copyright (C) 2005-2017"

#ifndef __FILE__
!define VLD_VERSION "2.5" // NSIS Script
!define VLD_VERSION "2.5.1" // NSIS Script
#endif
56 changes: 28 additions & 28 deletions src/vld.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -351,27 +351,27 @@ VisualLeakDetector::VisualLeakDetector ()
wcsncpy_s(m_reportFilePath, MAX_PATH, VLD_DEFAULT_REPORT_FILE_NAME, _TRUNCATE);
m_status = 0x0;

HMODULE ntdll = GetModuleHandleW(L"ntdll.dll");
if (ntdll)
{
if (!IsWindows8OrGreater())
{
LdrLoadDll = (LdrLoadDll_t)GetProcAddress(ntdll, "LdrLoadDll");
} else
{
LdrLoadDllWin8 = (LdrLoadDllWin8_t)GetProcAddress(ntdll, "LdrLoadDll");
ldrLoadDllPatch[0].replacement = _LdrLoadDllWin8;
}
RtlAllocateHeap = (RtlAllocateHeap_t)GetProcAddress(ntdll, "RtlAllocateHeap");
RtlFreeHeap = (RtlFreeHeap_t)GetProcAddress(ntdll, "RtlFreeHeap");
RtlReAllocateHeap = (RtlReAllocateHeap_t)GetProcAddress(ntdll, "RtlReAllocateHeap");

LdrGetDllHandle = (LdrGetDllHandle_t)GetProcAddress(ntdll, "LdrGetDllHandle");
LdrGetProcedureAddress = (LdrGetProcedureAddress_t)GetProcAddress(ntdll, "LdrGetProcedureAddress");
LdrUnloadDll = (LdrUnloadDll_t)GetProcAddress(ntdll, "LdrUnloadDll");
LdrLockLoaderLock = (LdrLockLoaderLock_t)GetProcAddress(ntdll, "LdrLockLoaderLock");
LdrUnlockLoaderLock = (LdrUnlockLoaderLock_t)GetProcAddress(ntdll, "LdrUnlockLoaderLock");
}
HMODULE ntdll = GetModuleHandleW(L"ntdll.dll");
if (ntdll)
{
if (!IsWindows8OrGreater())
{
LdrLoadDll = (LdrLoadDll_t)GetProcAddress(ntdll, "LdrLoadDll");
} else
{
LdrLoadDllWin8 = (LdrLoadDllWin8_t)GetProcAddress(ntdll, "LdrLoadDll");
ldrLoadDllPatch[0].replacement = _LdrLoadDllWin8;
}
RtlAllocateHeap = (RtlAllocateHeap_t)GetProcAddress(ntdll, "RtlAllocateHeap");
RtlFreeHeap = (RtlFreeHeap_t)GetProcAddress(ntdll, "RtlFreeHeap");
RtlReAllocateHeap = (RtlReAllocateHeap_t)GetProcAddress(ntdll, "RtlReAllocateHeap");

LdrGetDllHandle = (LdrGetDllHandle_t)GetProcAddress(ntdll, "LdrGetDllHandle");
LdrGetProcedureAddress = (LdrGetProcedureAddress_t)GetProcAddress(ntdll, "LdrGetProcedureAddress");
LdrUnloadDll = (LdrUnloadDll_t)GetProcAddress(ntdll, "LdrUnloadDll");
LdrLockLoaderLock = (LdrLockLoaderLock_t)GetProcAddress(ntdll, "LdrLockLoaderLock");
LdrUnlockLoaderLock = (LdrUnlockLoaderLock_t)GetProcAddress(ntdll, "LdrUnlockLoaderLock");
}

// Load configuration options.
configure();
Expand All @@ -390,11 +390,11 @@ VisualLeakDetector::VisualLeakDetector ()
}
else
{
if (kernelBase)
{
m_GetProcAddress = (GetProcAddress_t)GetProcAddress(kernelBase, "GetProcAddress");
m_GetProcAddressForCaller = (GetProcAddressForCaller_t)GetProcAddress(kernelBase, "GetProcAddressForCaller");
}
if (kernelBase)
{
m_GetProcAddress = (GetProcAddress_t)GetProcAddress(kernelBase, "GetProcAddress");
m_GetProcAddressForCaller = (GetProcAddressForCaller_t)GetProcAddress(kernelBase, "GetProcAddressForCaller");
}
assert(m_patchTable[0].patchTable == m_kernelbasePatch);
m_patchTable[0].exportModuleName = "kernelbase.dll";
}
Expand Down Expand Up @@ -2168,7 +2168,7 @@ FARPROC VisualLeakDetector::_GetProcAddress (HMODULE module, LPCSTR procname)

FARPROC VisualLeakDetector::_RGetProcAddress(HMODULE module, LPCSTR procname)
{
return m_GetProcAddress(module, procname);
return m_GetProcAddress(module, procname);
}

// _GetProcAddress - Calls to GetProcAddress are patched through to this
Expand Down Expand Up @@ -2237,7 +2237,7 @@ FARPROC VisualLeakDetector::_GetProcAddressForCaller(HMODULE module, LPCSTR proc

FARPROC VisualLeakDetector::_RGetProcAddressForCaller(HMODULE module, LPCSTR procname, LPVOID caller)
{
return m_GetProcAddressForCaller(module, procname, caller);
return m_GetProcAddressForCaller(module, procname, caller);
}

// _LdrLoadDll - Calls to LdrLoadDll are patched through to this function. This
Expand Down
1 change: 1 addition & 0 deletions src/vld.vcxproj
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
<IntDir>$(ProjectDir)obj\$(Platform)\$(Configuration)-v$(PlatformToolsetVersion)\$(ProjectName)\</IntDir>
<CodeAnalysisRuleSet Condition="'$(Platform)'=='Win32'">NativeRecommendedRules.ruleset</CodeAnalysisRuleSet>
<TargetName>$(ProjectName)_$(NumericPlatform)</TargetName>
<VcpkgEnabled>false</VcpkgEnabled>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<RunCodeAnalysis>false</RunCodeAnalysis>
Expand Down
2 changes: 1 addition & 1 deletion vld.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;
;; Visual Leak Detector - Initialization/Configuration File
;; Copyright (c) 2005-2016 VLD Team
;; Copyright (c) 2005-2017 VLD Team
;;
;; This library is free software; you can redistribute it and/or
;; modify it under the terms of the GNU Lesser General Public
Expand Down

0 comments on commit 0fbf335

Please sign in to comment.