├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ ├── config.yml │ └── feature_request.md └── workflows │ ├── ci-aarchxx.yml │ ├── ci-clang.yml │ ├── ci-docs.yml │ ├── ci-package.yml │ ├── ci-windows.yml │ └── ci-x86.yml ├── .gitmodules ├── ACKNOWLEDGEMENTS ├── CMakeLists.txt ├── CONTRIBUTING.md ├── CTestConfig.cmake ├── README ├── README.md ├── codereview.cmake ├── common ├── alloc.c ├── alloc.h ├── alloc_private.h ├── alloc_replace.c ├── alloc_replace.h ├── alloc_unopt.c ├── asm_utils.h ├── asm_utils_arm.asm ├── asm_utils_x86.asm ├── callstack.c ├── callstack.h ├── crypto.c ├── crypto.h ├── heap.c ├── heap.h ├── options-docs.c ├── redblack.c ├── redblack.h ├── sysnum_linux.h ├── utils.c ├── utils.h ├── utils_shared.c └── windefs.h ├── docs ├── CMakeLists.txt ├── CMake_doxyfile.cmake ├── CMake_rundoxygen.cmake ├── Doxyfile.in ├── favicon.ico └── favicon.png ├── drfuzz ├── CMakeLists.txt ├── drfuzz.c ├── drfuzz.dox ├── drfuzz.h ├── drfuzz_internal.h ├── drfuzz_mutator.c └── drfuzz_mutator.h ├── drheapstat ├── docs │ ├── main.dox │ ├── options-base.dox.in │ ├── release.dox │ ├── using.dox │ └── vistool.png ├── drheapstat.c ├── drheapstat.h ├── drheapstat_frontend.c ├── optionsx.h ├── postprocess.pl ├── staleness.c ├── staleness.h └── visualizer │ ├── CMakeLists.txt │ ├── dhvis_color_scheme.h │ ├── dhvis_factory.cpp │ ├── dhvis_factory.h │ ├── dhvis_graph.cpp │ ├── dhvis_graph.h │ ├── dhvis_options_page.cpp │ ├── dhvis_options_page.h │ ├── dhvis_snapshot_graph.cpp │ ├── dhvis_snapshot_graph.h │ ├── dhvis_stale_graph.cpp │ ├── dhvis_stale_graph.h │ ├── dhvis_structures.cpp │ ├── dhvis_structures.h │ ├── dhvis_tool.cpp │ └── dhvis_tool.h ├── drltrace ├── CMakeLists.txt ├── README.md ├── drltrace.cpp ├── drltrace.dox ├── drltrace.h ├── drltrace_frontend.cpp ├── drltrace_libcalls.cpp ├── drltrace_linux.config ├── drltrace_options.cpp ├── drltrace_options.h ├── drltrace_win.config ├── runtest.cmake └── scripts │ ├── gen_drltrace_config.py │ └── headers_parser.py ├── drmemory ├── alloc_drmem.c ├── alloc_drmem.h ├── annotations.c ├── annotations.h ├── annotations_public.c ├── annotations_public.h ├── client_per_thread.h ├── docs │ ├── arm_port.dox │ ├── build.dox │ ├── chinese.dox │ ├── contribute.dox │ ├── coverage.dox │ ├── debugging.dox │ ├── design_docs.dox │ ├── download.dox │ ├── drmem-spec2k6-sm.png │ ├── errors.dox │ ├── fuzzer.dox │ ├── leaks.dox.sub │ ├── license.dox │ ├── light.dox │ ├── main.dox │ ├── new_release.dox │ ├── options-base.dox.in │ ├── projects.dox │ ├── release.dox │ ├── reports.dox │ ├── test.dox │ ├── tools.dox │ └── using.dox ├── drmemory.c ├── drmemory.h ├── fastpath.c ├── fastpath.h ├── fastpath_arch.h ├── fastpath_arm.c ├── fastpath_x86.c ├── frontend.c ├── frontend.h ├── fuzzer.c ├── fuzzer.h ├── gdicheck.c ├── gdicheck.h ├── handlecheck.c ├── handlecheck.h ├── instru.c ├── instru.h ├── launcher_android.sh ├── leak.c ├── leak.h ├── memlayout.c ├── memlayout.h ├── options.c ├── options.h ├── optionsx.h ├── pattern.c ├── pattern.h ├── perturb.c ├── perturb.h ├── postprocess.pl ├── replace.c ├── replace.h ├── report.c ├── report.h ├── shadow.c ├── shadow.h ├── slowpath.c ├── slowpath.h ├── slowpath_arch.h ├── slowpath_arm.c ├── slowpath_x86.c ├── spill.c ├── spill.h ├── stack.c ├── stack.h ├── stack_arch.h ├── stack_arm.c ├── stack_x86.c ├── suppress-default.lin.txt ├── suppress-default.mac.txt ├── suppress-default.win.txt ├── syscall.c ├── syscall.h ├── syscall_aux.h ├── syscall_driver.c ├── syscall_driver.h ├── syscall_linux.c ├── syscall_macos.c ├── syscall_os.h ├── syscall_windows.c ├── syscall_windows.h └── syscall_wingdi.c ├── drstrace ├── CMakeLists.txt ├── drstrace.c ├── drstrace_frontend.c ├── drstrace_named_consts.c ├── drstrace_named_consts.h ├── drstrace_unit_tests.c ├── mkenumtable.py ├── mksymguid.pl └── symfetch.c ├── drsymcache ├── CMakeLists.txt ├── drsymcache.c ├── drsymcache.dox └── drsymcache.h ├── drsyscall ├── CMakeLists.txt ├── drsyscall.c ├── drsyscall.dox ├── drsyscall.h ├── drsyscall_driver.c ├── drsyscall_driver.h ├── drsyscall_fileparse.c ├── drsyscall_linux.c ├── drsyscall_macos.c ├── drsyscall_numx.h ├── drsyscall_os.h ├── drsyscall_usercallx.h ├── drsyscall_windows.c ├── drsyscall_windows.h ├── drsyscall_wingdi.c ├── linux_defines.h ├── mksystable.pl ├── mksystable_macos.pl ├── pdb2sysfile.cpp ├── table_defines.h ├── table_linux.c ├── table_linux_ioctl.c ├── table_macos_bsd.c ├── table_windows_kernel32.c ├── table_windows_ntgdi.c ├── table_windows_ntoskrnl.c ├── table_windows_ntoskrnl_infoclass.c ├── table_windows_ntuser.c └── table_windows_ntusercall.c ├── framework ├── drmf.cmake.in ├── drmf.dox ├── drmf.h ├── drmf_utils.c ├── drmf_version.cmake.in ├── public.h ├── samples │ ├── CMakeLists.txt │ └── strace.c └── version.c ├── lgpl-2.1.txt ├── license.txt ├── make ├── Platform │ └── Windows-cl.cmake ├── WIX.extra.in ├── WIX.patches.in ├── git │ ├── commit-template.txt │ ├── devsetup.sh │ ├── git_pullall.sh │ ├── git_review.sh │ ├── hook-commit-msg-launch.sh │ ├── hook-commit-msg.sh │ ├── hook-pre-commit-launch.sh │ └── hook-pre-commit.sh ├── policies.cmake ├── rccheck.cmake └── resources.rc ├── package.cmake ├── tests ├── CMakeLists.txt ├── addronly-reg.out ├── addronly-reg.res ├── addronly.out ├── addronly.res ├── allowlist.cpp ├── allowlist.out ├── allowlist.res ├── allowlist_justlib.out ├── allowlist_justlib.res ├── allowlist_lib.cpp ├── annotations.c ├── annotations.out ├── app_suite.out ├── app_suite.pattern.out ├── app_suite.pattern.res ├── app_suite.res ├── app_suite │ ├── CMakeLists.txt │ ├── app_suite_utils.h │ ├── atl_tests_win.cpp │ ├── concurrency_win.cpp │ ├── crypto_tests_win.cpp │ ├── default-suppressions.txt │ ├── fibers_win.cpp │ ├── float_tests.cpp │ ├── fs_tests_posix.cpp │ ├── fs_tests_win.cpp │ ├── ipc_tests_posix.cpp │ ├── iphlpapi_tests_win.cpp │ ├── malloc_tests.cpp │ ├── malloc_tests_win.cpp │ ├── mmap_tests_posix.cpp │ ├── namespace_tests_win.cpp │ ├── ntalpc_tests_win.cpp │ ├── ntexapi_tests_win.cpp │ ├── ntgdi_tests_win.cpp │ ├── ntuser_tests_win.cpp │ ├── ole_tests_win.cpp │ ├── os_version_win.cpp │ ├── os_version_win.h │ ├── pattern_tests.cpp │ ├── pdh_win.cpp │ ├── power_tests_win.cpp │ ├── psapi_tests_win.cpp │ ├── registry_tests_win.cpp │ ├── seh_tests_win.cpp │ ├── shell32_tests_win.cpp │ ├── simple_tests.cpp │ ├── socket_tests_posix.cpp │ ├── socket_tests_win.cpp │ ├── stability_tests_win.cpp │ ├── stl_tests.cpp │ ├── strmem_tests.cpp │ ├── tty_tests_posix.cpp │ └── userenv_tests_win.cpp ├── asmtest.out ├── asmtest.res ├── asmtest_arm.c ├── asmtest_x86.c ├── badjmp.c ├── badjmp.out ├── badjmp.res ├── bitfield.cpp ├── bitfield.out ├── bitfield.res ├── bitfield.strict.out ├── bitfield.strict.res ├── blocklist.cpp ├── blocklist.out ├── blocklist.res ├── clone.c ├── clone.out ├── clone.res ├── copy.bat ├── coverage.out ├── coverage.res ├── cs2bug.cpp ├── cs2bug.heapstat.out ├── cs2bug.light.out ├── cs2bug.light.res ├── cs2bug.out ├── cs2bug.res ├── cs2bug.wrap.out ├── cs2bug.wrap.res ├── cs2bugMTd.out ├── cs2bugMTd.res ├── dump.out ├── dump.res ├── execve.c ├── execve.out ├── execve.res ├── float.c ├── float.out ├── float.res ├── framework │ ├── CMakeLists.txt │ ├── drfuzz_app_empty.c │ ├── drfuzz_app_repeat.c │ ├── drfuzz_app_segfault.c │ ├── drfuzz_client_empty.c │ ├── drfuzz_client_mutator.c │ ├── drfuzz_client_repeat.c │ ├── drfuzz_client_segfault.c │ ├── drsyscall_app.c │ ├── drsyscall_client.c │ ├── strace_client.c │ ├── umbra_app.c │ ├── umbra_client_allscales.c │ ├── umbra_client_consistency.c │ ├── umbra_client_empty.c │ ├── umbra_client_faulty_redzone.c │ ├── umbra_client_insert_app_to_shadow.c │ ├── umbra_client_shadow_mem.c │ ├── umbra_test_shared.h │ └── umbra_wild.c ├── free.c ├── free.out ├── free.res ├── fuzz │ ├── CMakeLists.txt │ ├── corpus │ │ ├── corpus.1.dat │ │ ├── corpus.2.dat │ │ └── corpus.3.dat │ ├── custom_mutator.c │ ├── dictionary.txt │ ├── fuzz_buffer.c │ ├── fuzz_buffer.cpp │ ├── fuzz_buffer.cpp.demangled.out │ ├── fuzz_buffer.cpp.demangled.res │ ├── fuzz_buffer.cpp.out │ ├── fuzz_buffer.cpp.res │ ├── fuzz_buffer.dictionary.out │ ├── fuzz_buffer.dictionary.res │ ├── fuzz_buffer.fixed_size.out │ ├── fuzz_buffer.fixed_size.res │ ├── fuzz_buffer.leak.cpp.out │ ├── fuzz_buffer.leak.cpp.res │ ├── fuzz_buffer.leak.out │ ├── fuzz_buffer.leak.res │ ├── fuzz_buffer.module_name.out │ ├── fuzz_buffer.module_name.res │ ├── fuzz_buffer.mutator.o-b-3.out │ ├── fuzz_buffer.mutator.o-b-3.res │ ├── fuzz_buffer.mutator.o-b-s-3.out │ ├── fuzz_buffer.mutator.o-b-s-3.res │ ├── fuzz_buffer.mutator.r-b-s-3.out │ ├── fuzz_buffer.mutator.r-b-s-3.res │ ├── fuzz_buffer.mutator.r-n.out │ ├── fuzz_buffer.mutator.r-n.res │ ├── fuzz_buffer.mutator.random_seed.out │ ├── fuzz_buffer.mutator.random_seed.res │ ├── fuzz_buffer.offset.out │ ├── fuzz_buffer.offset.res │ ├── fuzz_buffer.one-input.out │ ├── fuzz_buffer.one-input.res │ ├── fuzz_buffer.out │ ├── fuzz_buffer.overflow.out │ ├── fuzz_buffer.overflow.res │ ├── fuzz_buffer.overread.cpp.out │ ├── fuzz_buffer.overread.cpp.res │ ├── fuzz_buffer.overread.out │ ├── fuzz_buffer.overread.res │ ├── fuzz_buffer.overwrite.cpp.out │ ├── fuzz_buffer.overwrite.cpp.res │ ├── fuzz_buffer.overwrite.out │ ├── fuzz_buffer.overwrite.res │ ├── fuzz_buffer.res │ ├── fuzz_buffer.skip_initial.out │ ├── fuzz_buffer.skip_initial.res │ ├── fuzz_buffer.underread.cpp.out │ ├── fuzz_buffer.underread.cpp.res │ ├── fuzz_buffer.underread.out │ ├── fuzz_buffer.underread.res │ ├── fuzz_buffer.underwrite.cpp.out │ ├── fuzz_buffer.underwrite.cpp.res │ ├── fuzz_buffer.underwrite.out │ ├── fuzz_buffer.underwrite.res │ ├── fuzz_buffer.uninitialized.cpp.out │ ├── fuzz_buffer.uninitialized.cpp.res │ ├── fuzz_buffer.uninitialized.out │ ├── fuzz_buffer.uninitialized.res │ ├── fuzz_corpus.c │ ├── fuzz_custom_mutator.out │ ├── fuzz_custom_mutator.res │ ├── fuzz_pthreads.c │ ├── fuzz_threads.out │ ├── fuzz_threads.res │ ├── fuzz_winthreads.c │ └── input.dat ├── gdi.cpp ├── gdi.out ├── gdi.res ├── gdi.suppress ├── handle.cpp ├── handle.out ├── handle.res ├── handle_only.out ├── handle_only.res ├── hello.c ├── hello.out ├── hello.res ├── infloop.c ├── kernel_module.c ├── leak_indirect.c ├── leak_indirect.out ├── leak_indirect.res ├── leak_string.cpp ├── leak_string.out ├── leak_string.res ├── leakcycle.cpp ├── leakcycle.out ├── leakcycle.res ├── leaks-only.out ├── leaks-only.res ├── loader.c ├── loader.lib.c ├── loader.out ├── loader.res ├── mac_zones.c ├── mac_zones.out ├── mac_zones.res ├── malloc.c ├── malloc.heapstat.out ├── malloc.heapstat.res ├── malloc.out ├── malloc.pattern.out ├── malloc.pattern.res ├── malloc.res ├── memalign.c ├── memalign.out ├── memalign.pattern.out ├── memalign.pattern.res ├── memalign.res ├── memlayout.cpp ├── memlayout.out ├── memlayout.res ├── mmap.c ├── mmap.out ├── mmap.res ├── multierror.cpp ├── multierror.out ├── multierror.res ├── nightly.cmake ├── nonaslr.c ├── nosyms.cpp ├── nosyms.out ├── nosyms.res ├── nudge.heapstat.out ├── nudge.out ├── nudge.res ├── nudge_handle.out ├── nudge_handle.res ├── operators.cpp ├── operators.out ├── operators.res ├── patterns.c ├── patterns.out ├── patterns.res ├── perturb.out ├── procterm.addronly.out ├── procterm.addronly.res ├── procterm.c ├── procterm.nativeparent.out ├── procterm.nativeparent.res ├── procterm.out ├── procterm.res ├── pthreads.c ├── pthreads.out ├── pthreads.res ├── reachable.out ├── reachable.res ├── realloc.c ├── realloc.out ├── realloc.res ├── registers.blocklist.out ├── registers.blocklist.res ├── registers.blocklist.suppress ├── registers.c ├── registers.out ├── registers.pattern.out ├── registers.pattern.res ├── registers.res ├── rtl_memory_zones.c ├── rtl_memory_zones.h ├── rtl_memory_zones.out ├── run_in_bg.c ├── rungcc.cmake ├── runsuite.cmake ├── runsuite_wrapper.pl ├── runtest.cmake ├── selfmod.c ├── selfmod.out ├── selfmod.res ├── signal.c ├── signal.out ├── signal.res ├── skip-results.out ├── skip-results.res ├── stale.c ├── stale.out ├── stale.res ├── state.c ├── state.out ├── state.pattern.out ├── state.pattern.res ├── state.res ├── suppress-genoffs.out ├── suppress-genoffs.res ├── suppress-gensyms.out ├── suppress-gensyms.res ├── suppress-mod-bar.c ├── suppress-mod-foo.c ├── suppress-noerrors.out ├── suppress-noerrors.res ├── suppress.c ├── suppress.lin.suppress ├── suppress.out ├── suppress.res ├── suppress.vmk.suppress ├── suppress.win.suppress ├── suppressB.lin.suppress ├── suppressB.win.suppress ├── syscall_file.out ├── syscall_file.res ├── syscalls_unix.c ├── syscalls_unix.out ├── syscalls_unix.res ├── syscalls_win.cpp ├── syscalls_win.out ├── syscalls_win.res ├── time-allocs.out ├── time-allocs.res ├── time-bytes.out ├── time-bytes.res ├── time-instrs.out ├── time-instrs.res ├── track_origins.c ├── track_origins.out ├── track_origins.res ├── unload.c ├── unload.lib.c ├── unload.out ├── unload.res ├── unloadMD.out ├── unloadMD.res ├── varstack.c ├── varstack.out ├── varstack.res ├── wincrt.cpp ├── wincrt.out ├── wincrt.replace.out ├── wincrt.replace.res ├── wincrt.res ├── wincrtdbg.out ├── wincrtdbg.res ├── winthreads.c ├── winthreads.out └── winthreads.res ├── third_party └── valgrind │ ├── memcheck.h │ └── valgrind.h ├── tools ├── addr2line.pl ├── mksyscalltxt.pl ├── symquery.c ├── sysnums.pl ├── umbra_layout.py ├── valgrind2drmemory.pl ├── verinfo.c ├── vs_external_tool.c └── winsyms.c ├── umbra ├── CMakeLists.txt ├── umbra.c ├── umbra.dox ├── umbra.h ├── umbra_32.c ├── umbra_64.c └── umbra_private.h └── wininc ├── afd_shared.h ├── crtdbg.h ├── dxsdk └── d3dcaps.h ├── iptypes_undocumented.h ├── kernel32_private.h ├── ktmtypes.h ├── msafdlib.h ├── ndk_dbgktypes.h ├── ndk_extypes.h ├── ndk_iotypes.h ├── ndk_ketypes.h ├── ndk_lpctypes.h ├── ndk_mmtypes.h ├── ndk_psfuncs.h ├── ntalpc.h ├── ntalpctyp.h ├── ntddk.h ├── ntexapi.h ├── ntgdi.h ├── ntgdihdl.h ├── ntgdityp.h ├── ntifs.h ├── ntioapi.h ├── ntkeapi.h ├── ntktm.h ├── ntmisc.h ├── ntmmapi.h ├── ntobapi.h ├── ntpnpapi.h ├── ntpsapi.h ├── ntregapi.h ├── ntseapi.h ├── ntuser.h ├── ntuser_ex.h ├── ntuser_win8.h ├── ntwow64.h ├── psdk ├── d3dnthal.h ├── d3dtypes.h ├── ddraw.h ├── ddrawint.h ├── dvp.h ├── dxgiformat.h ├── ntgdi.h ├── prntfont.h └── winddi.h ├── tcpioctl.h ├── tdi.h ├── tls.h ├── wdm.h ├── winioctl.h ├── winnt_recent.h └── wsock.h /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Add a pointer to any prior users list discussion.** 11 | Please use the users list https://groups.google.com/forum/#!forum/DrMemory-Users for questions or to propose initial feature ideas if you're not sure there's an existing solution. The users list will reach a wider audience of people who may find the information beneficial. If you have already asked on the users list and the consensus was to file a new issue, please include the URL to the discussion thread here. 12 | 13 | **Is your feature request related to a problem? Please describe.** 14 | A clear and concise description of what the problem is. E.g., "I'm always frustrated when [...]" 15 | 16 | **Describe the solution you'd like** 17 | Describe the desired functionality and its intended usage to give some context for how it would be used. 18 | 19 | Do you have any implementation in mind for this feature? 20 | 21 | **Describe alternatives you've considered** 22 | Is there currently a method for implementing this functionality using the existing API and this requested feature will add convenience? Or is there no method for accomplishing the desired task using the current API? 23 | 24 | **Additional context** 25 | Add any other context or screenshots about the feature request here. 26 | -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "dynamorio"] 2 | path = dynamorio 3 | url = https://github.com/DynamoRIO/dynamorio.git 4 | [submodule "third_party/googletest"] 5 | path = third_party/googletest 6 | url = https://github.com/DynamoRIO/googletest.git 7 | -------------------------------------------------------------------------------- /ACKNOWLEDGEMENTS: -------------------------------------------------------------------------------- 1 | =========================================================================== 2 | ACKNOWLEDGEMENTS / AUTHORS OF DR. MEMORY 3 | 4 | The following is a partial list of the people who have contributed to 5 | Dr. Memory, in alphabetical order. Many others have provided invaluable 6 | insights, suggestions, and constructive criticism. 7 | 8 | * Derek Bruening 9 | * Bharath Chandramohan 10 | * Shawn Denbow 11 | * Timur Iskhodzhanov 12 | * Reid Kleckner 13 | * Maxim Shudrak 14 | * Dimitrios Tatsis 15 | * Qin Zhao 16 | 17 | Dr. Memory was originally developed by Derek Bruening for Windows. Derek later 18 | ported Dr. Memory to Linux. 19 | 20 | Reid Kleckner and Qin Zhao contributed to many different features on both 21 | Windows and Linux. 22 | Shawn Denbow contributed to Windows system call handling. 23 | Maxim Shudrak contributed to Dr. Strace and the Windows system call database. 24 | Dimitrios Tatsis contributed to Linux system call handling. 25 | Timur Iskhodzhanov contributed to error suppression and testing. 26 | Bharath Chandramohan contributed to an ESXi port of Dr. Memory. 27 | 28 | Dr. Memory leverages the dynamic instrumentation tool platform DynamoRIO. 29 | See http://dynamorio.org for more information about DynamoRIO. 30 | 31 | Dr. Memory's feature set bears some similiarities to Valgrind's Memcheck 32 | tool. 33 | 34 | =========================================================================== 35 | -------------------------------------------------------------------------------- /common/alloc_replace.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /*************************************************************************** 23 | * alloc_replace.h: Dr. Memory heap tracking internal header 24 | */ 25 | 26 | #ifndef _ALLOC_REPLACE_H_ 27 | #define _ALLOC_REPLACE_H_ 1 28 | 29 | void 30 | alloc_replace_init(); 31 | 32 | void 33 | alloc_replace_exit(); 34 | 35 | #ifdef UNIX 36 | byte * 37 | alloc_replace_orig_brk(); 38 | #endif 39 | 40 | /* rest is in malloc_interface_t */ 41 | 42 | #endif /* _ALLOC_REPLACE_H_ */ 43 | -------------------------------------------------------------------------------- /docs/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamoRIO/drmemory/4eebef2d2058e78d77a3d8bd41195374577c5243/docs/favicon.ico -------------------------------------------------------------------------------- /docs/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamoRIO/drmemory/4eebef2d2058e78d77a3d8bd41195374577c5243/docs/favicon.png -------------------------------------------------------------------------------- /drheapstat/docs/vistool.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamoRIO/drmemory/4eebef2d2058e78d77a3d8bd41195374577c5243/drheapstat/docs/vistool.png -------------------------------------------------------------------------------- /drltrace/README.md: -------------------------------------------------------------------------------- 1 | drltrace is a standalone tool for Windows based on the Dr. Memory framework 2 | that records calls to shared libraries. It reports all invocations of 3 | exported functions in all shared libraries loaded into the target process. 4 | -------------------------------------------------------------------------------- /drmemory/annotations.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2011-2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /*************************************************************************** 23 | * annotations.h: Support for application annotations. 24 | */ 25 | 26 | #ifndef _ANNOTATIONS_H_ 27 | #define _ANNOTATIONS_H_ 1 28 | 29 | #include "dr_api.h" 30 | 31 | void 32 | annotate_init(void); 33 | 34 | void 35 | annotate_exit(void); 36 | 37 | #endif /* _ANNOTATIONS_H_ */ 38 | -------------------------------------------------------------------------------- /drmemory/annotations_public.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2020-2021 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include "dr_annotations.h" 23 | 24 | DR_DEFINE_ANNOTATION(void, drmemory_dump_memory_layout, (void),) 25 | 26 | DR_DEFINE_ANNOTATION(void, drmemory_make_unaddressable, (void *start, size_t len),) 27 | -------------------------------------------------------------------------------- /drmemory/docs/design_docs.dox: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2010-2021 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /** 23 | **************************************************************************** 24 | **************************************************************************** 25 | \page page_design_docs Design Documents 26 | 27 | - \subpage page_arm_port 28 | 29 | **************************************************************************** 30 | **************************************************************************** 31 | */ 32 | -------------------------------------------------------------------------------- /drmemory/docs/drmem-spec2k6-sm.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DynamoRIO/drmemory/4eebef2d2058e78d77a3d8bd41195374577c5243/drmemory/docs/drmem-spec2k6-sm.png -------------------------------------------------------------------------------- /drmemory/frontend.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifndef _FRONTEND_H_ 23 | #define _FRONTEND_H_ 1 24 | 25 | /* constants shared between DrMem client and DrMem front-end */ 26 | 27 | enum { 28 | NUDGE_LEAK_SCAN = 0, /* drmemory.pl assumes this is 0 */ 29 | NUDGE_TERMINATE, 30 | }; 31 | 32 | #endif /* _FRONTEND_H_ */ 33 | -------------------------------------------------------------------------------- /drmemory/launcher_android.sh: -------------------------------------------------------------------------------- 1 | #!/system/bin/sh 2 | # There's no DT_RPATH support on Android so we have a script set the load path. 3 | home="${0%/*}/.." 4 | # We need $@ to preserve quoted tokens (as opposed to $*) 5 | LD_LIBRARY_PATH=$home/dynamorio/lib32/@build_type@ $home/bin/launcher "$@" 6 | -------------------------------------------------------------------------------- /drmemory/memlayout.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2020 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifndef _MEMLAYOUT_H_ 23 | #define _MEMLAYOUT_H_ 1 24 | 25 | void 26 | memlayout_init(void); 27 | 28 | void 29 | memlayout_handle_new_block(void *drcontext, void *tag); 30 | 31 | void 32 | memlayout_handle_alloc(void *drcontext, app_pc base, size_t size); 33 | 34 | void 35 | memlayout_dump_layout(app_pc pc); 36 | 37 | #endif /* _MEMLAYOUT_H_ */ 38 | -------------------------------------------------------------------------------- /drstrace/drstrace_named_consts.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2014 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | #include 24 | #include 25 | 26 | /* We hardcode each named constant using separate structures for 27 | * each group of constants. We generate each structure name by using 28 | * first constant name in the group of constants. 29 | */ 30 | typedef struct const_values_t { 31 | int value; /* value of the named constant */ 32 | const char *const_name; /* name of the named constant */ 33 | } const_values_t; 34 | 35 | extern const_values_t *const_struct_array[]; -------------------------------------------------------------------------------- /drstrace/symfetch.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2014 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /* Simple dll used just only to get symbolic information from MS Symbol Server. 23 | */ 24 | #include 25 | 26 | BOOL APIENTRY DllMain(HMODULE hModule, 27 | DWORD ul_reason_for_call, 28 | LPVOID lpReserved 29 | ) 30 | { 31 | switch (ul_reason_for_call) { 32 | case DLL_PROCESS_ATTACH: 33 | case DLL_THREAD_ATTACH: 34 | case DLL_THREAD_DETACH: 35 | case DLL_PROCESS_DETACH: 36 | break; 37 | } 38 | return TRUE; 39 | } -------------------------------------------------------------------------------- /framework/drmf.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifndef _DRMF_H_ 23 | #define _DRMF_H_ 1 24 | 25 | /* Dr. Memory Framework: code shared across Extensions */ 26 | 27 | drmf_status_t 28 | drmf_check_version(client_id_t client_id); 29 | 30 | #endif /* _DRMF_H_ */ 31 | -------------------------------------------------------------------------------- /make/Platform/Windows-cl.cmake: -------------------------------------------------------------------------------- 1 | # i#310: support building over cygwin ssh where we cannot build pdbs. 2 | # To prevent cmake's try-compile for its working compiler test and 3 | # its ABI determination test we request a Release build config 4 | # via a custom Plaform/Windows-cl.cmake in our make/ dir. 5 | include(${CMAKE_ROOT}/Modules/Platform/Windows-cl.cmake) 6 | set(CMAKE_BUILD_TYPE_INIT Release) 7 | -------------------------------------------------------------------------------- /make/WIX.patches.in: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 6 | 10 | 13 | 14 | 15 | (NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL") 16 | 17 | NOT Installed AND NOT REMOVE 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /make/git/commit-template.txt: -------------------------------------------------------------------------------- 1 | i# : 2 | 3 | 4 | 5 | Fixes # 6 | -------------------------------------------------------------------------------- /make/git/hook-commit-msg-launch.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | # ********************************************************** 4 | # Copyright (c) 2014 Google, Inc. All rights reserved. 5 | # ********************************************************** 6 | 7 | # Dr. Memory: the memory debugger 8 | # 9 | # This library is free software; you can redistribute it and/or 10 | # modify it under the terms of the GNU Lesser General Public 11 | # License as published by the Free Software Foundation; 12 | # version 2.1 of the License, and no later version. 13 | # 14 | # This library is distributed in the hope that it will be useful, 15 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 17 | # Library General Public License for more details. 18 | # 19 | # You should have received a copy of the GNU Lesser General Public 20 | # License along with this library; if not, write to the Free Software 21 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 22 | 23 | # This is what we copy into .git/hooks/. We separate it from the real 24 | # work so we can conveniently keep the meat of the hook under version 25 | # control. 26 | 27 | # XXX: some of these hooks are identical to DR's so perhaps we should make 28 | # a separate repo to share them, or else drop support for separately-built DR. 29 | 30 | make/git/hook-commit-msg.sh $1 || exit 1 31 | -------------------------------------------------------------------------------- /make/policies.cmake: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015-2020 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | 21 | # i#1418: We are updated to the new scheme. 22 | cmake_policy(SET CMP0022 NEW) 23 | -------------------------------------------------------------------------------- /tests/addronly.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 3 unique, 22 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | # not listing leaks to support -light 27 | -------------------------------------------------------------------------------- /tests/addronly.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2014 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS of freed memory: reading 1 byte(s) 23 | free.c:81 24 | # no "prev lower malloc" when enable DR's private loader 25 | that was freed 26 | 27 | Error #2: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 28 | free.c:87 29 | # whether have "prev lower malloc" is nondet 30 | that was freed 31 | 32 | Error #3: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 33 | free.c:94 34 | 0 byte(s) beyond memory that was freed 35 | -------------------------------------------------------------------------------- /tests/allowlist.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2013 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /* Tests allowlist options */ 23 | 24 | #include 25 | #include 26 | 27 | #ifdef WINDOWS 28 | # define IMPORT __declspec(dllimport) 29 | #else /* UNIX */ 30 | # define IMPORT extern 31 | #endif 32 | 33 | IMPORT char raise_error(char); 34 | 35 | int 36 | main() 37 | { 38 | void *p = malloc(3); 39 | char c = *(((char *)p)+3); /* error: unaddressable */ 40 | free(p); 41 | 42 | /* invoke lib */ 43 | raise_error(c); 44 | 45 | printf("all done\n"); 46 | 47 | return 0; 48 | } 49 | -------------------------------------------------------------------------------- /tests/allowlist.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | 22 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 23 | allowlist.cpp:39 24 | 25 | # XXX i#1320: ideally we would also test that potential_errors.txt is 26 | # created and has the right contents. 27 | -------------------------------------------------------------------------------- /tests/allowlist_justlib.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | 22 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 23 | allowlist_lib.cpp:50 24 | 25 | # XXX i#1320: ideally we would also test that potential_errors.txt is 26 | # created and has the right contents. 27 | -------------------------------------------------------------------------------- /tests/annotations.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2011 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | #include 24 | 25 | /* Test our ability to understand valgrind annotations. */ 26 | 27 | #include "memcheck.h" 28 | 29 | int 30 | main(void) 31 | { 32 | int *uninit = malloc(sizeof(*uninit)); 33 | (void)VALGRIND_MAKE_MEM_DEFINED_IF_ADDRESSABLE(uninit, sizeof(*uninit)); 34 | if (*uninit) { 35 | printf("*uninit != 0\n"); 36 | } else { 37 | printf("*uninit == 0\n"); 38 | } 39 | free(uninit); 40 | return 0; 41 | } 42 | -------------------------------------------------------------------------------- /tests/annotations.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ NO ERRORS FOUND: 22 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 28 | -------------------------------------------------------------------------------- /tests/app_suite.pattern.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %if UNIX 22 | # This is the fork child for SocketTests, w/ its pid-based prefix chopped: 23 | ~~ NO ERRORS FOUND: 24 | ~~ 0 unique, 0 total unaddressable access(es) 25 | ~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~ 0 unique, 0 total warning(s) 27 | # Parent process: 28 | %endif 29 | ~~Dr.M~~ NO ERRORS FOUND: 30 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 31 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 32 | ~~Dr.M~~ 0 unique, 0 total warning(s) 33 | -------------------------------------------------------------------------------- /tests/app_suite.pattern.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/app_suite.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/app_suite/app_suite_utils.h: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2013 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #define BUFFER_SIZE_BYTES(buf) sizeof(buf) 23 | #define BUFFER_SIZE_ELEMENTS(buf) (sizeof(buf) / sizeof((buf)[0])) 24 | -------------------------------------------------------------------------------- /tests/app_suite/fs_tests_posix.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012-2016 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include "gtest/gtest.h" 23 | #include 24 | #include 25 | 26 | #if defined(LINUX) && !defined(ANDROID) 27 | TEST(FSTests, SyncFS){ 28 | FILE *tempfile; 29 | tempfile = fopen("syncfs_test_file", "w"); 30 | 31 | fprintf(tempfile, "this is a test for syncfs"); 32 | 33 | int fd = fileno(tempfile); 34 | 35 | ASSERT_EQ(syncfs(fd), 0); 36 | 37 | fclose(tempfile); 38 | unlink("syncfs_test_file"); 39 | } 40 | #endif 41 | -------------------------------------------------------------------------------- /tests/app_suite/simple_tests.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2011 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include "gtest/gtest.h" 23 | 24 | TEST(SimpleTests, HelloWorld) { 25 | printf("Hello world!\n"); 26 | } 27 | -------------------------------------------------------------------------------- /tests/app_suite/stability_tests_win.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2011 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | #include "gtest/gtest.h" 24 | 25 | TEST(StabilityTests, FormatMessage) { 26 | // Was: http://https://github.com/DynamoRIO/drmemory/issues/532 27 | OutputDebugStringA("Hello!"); 28 | char buff[256]; 29 | FormatMessageA(0x00001200, NULL, 0, 0, buff, 256, NULL); 30 | } 31 | -------------------------------------------------------------------------------- /tests/app_suite/tty_tests_posix.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2013 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include "gtest/gtest.h" 23 | 24 | #include 25 | 26 | TEST(TTYTests, GetWindowSize) { 27 | struct winsize ws; 28 | int res = ioctl(STDERR_FILENO, TIOCGWINSZ, &ws); 29 | // Use it. 30 | if (res == 0 && ws.ws_col) { 31 | printf("ws_col: %d\n", ws.ws_col); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tests/asmtest.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/asmtest.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/badjmp.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 28 | -------------------------------------------------------------------------------- /tests/badjmp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS: executing 1 byte(s) 22 | 23 | badjmp.c:76 24 | -------------------------------------------------------------------------------- /tests/bitfield.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | correct 22 | correct 23 | all done 24 | ~~Dr.M~~ NO ERRORS FOUND: 25 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 26 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 27 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 28 | ~~Dr.M~~ 0 unique, 0 total warning(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 31 | -------------------------------------------------------------------------------- /tests/bitfield.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/bitfield.strict.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | correct 22 | correct 23 | all done 24 | ~~Dr.M~~ ERRORS FOUND: 25 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 26 | ~~Dr.M~~ 14 unique, 14 total uninitialized access(es) 27 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 28 | ~~Dr.M~~ 0 unique, 0 total warning(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 31 | -------------------------------------------------------------------------------- /tests/blocklist.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # XXX i#1320: ideally we would also test that potential_errors.txt is 22 | # created and has the right contents. 23 | -------------------------------------------------------------------------------- /tests/clone.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | -------------------------------------------------------------------------------- /tests/copy.bat: -------------------------------------------------------------------------------- 1 | REM both xcopy and copy require backward slashes 2 | @echo off 3 | set dst=%2 4 | set dst=%dst:/=\% 5 | copy %1 %dst% 6 | -------------------------------------------------------------------------------- /tests/coverage.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 3 unique, 22 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | ~~Dr.M~~ ERRORS IGNORED: 30 | %SKIPLINE 31 | %SKIPLINE 32 | %SKIPLINE 33 | ~~Dr.M~~ Code coverage raw data: 34 | -------------------------------------------------------------------------------- /tests/coverage.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013-2014 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS of freed memory: reading 1 byte(s) 23 | free.c:81 24 | # no "prev lower malloc" when enable DR's private loader 25 | that was freed 26 | 27 | Error #2: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 28 | free.c:87 29 | # whether have "prev lower malloc" is nondet 30 | that was freed 31 | 32 | Error #3: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 33 | free.c:94 34 | 0 byte(s) beyond memory that was freed 35 | -------------------------------------------------------------------------------- /tests/cs2bug.heapstat.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | %if WINDOWS 23 | # if this starts not matching on other platforms/compiler just remove the print! 24 | size=4 capacity=15 25 | %endif 26 | %if UNIX 27 | size=4 capacity=4 28 | %endif 29 | getval: childAB 30 | myfunc: parB 31 | hi 32 | bye 33 | -------------------------------------------------------------------------------- /tests/execve.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 23 | malloc.c:112 24 | Error #2: UNINITIALIZED READ 25 | malloc.c:122 26 | Error #3: UNINITIALIZED READ 27 | malloc.c:135 28 | Error #4: INVALID HEAP ARGUMENT 29 | malloc.c:181 30 | Error #5: UNADDRESSABLE ACCESS: reading 1 byte(s) 31 | malloc.c:253 32 | : LEAK 42 direct bytes + 17 indirect bytes 33 | malloc.c:240 34 | -------------------------------------------------------------------------------- /tests/free.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | all done 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 3 unique, 22 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/free.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013-2014 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS of freed memory: reading 1 byte(s) 23 | free.c:81 24 | # no "prev lower malloc" when enable DR's private loader 25 | that was freed 26 | 27 | Error #2: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 28 | free.c:87 29 | # whether have "prev lower malloc" is nondet 30 | that was freed 31 | 32 | Error #3: UNADDRESSABLE ACCESS of freed memory: writing 1 byte(s) 33 | free.c:94 34 | 0 byte(s) beyond memory that was freed 35 | -------------------------------------------------------------------------------- /tests/fuzz/corpus/corpus.1.dat: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/fuzz/corpus/corpus.2.dat: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/fuzz/corpus/corpus.3.dat: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /tests/fuzz/dictionary.txt: -------------------------------------------------------------------------------- 1 | # Test dictionary 2 | 3 | foo="woof" 4 | 5 | # Example from docs 6 | "token42" 7 | "different_token" 8 | unprint="\xCD\xEF" 9 | mytokA="internal\"quotes\"" 10 | 11 | # Test AFL level 12 | var@55 = "back\\slash\x23" 13 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.cpp.demangled.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.dictionary.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.fixed_size.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.leak.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: LEAK 12 direct bytes 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.leak.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: LEAK 16 direct bytes 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.module_name.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.mutator.o-b-3.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.mutator.o-b-s-3.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.mutator.r-b-s-3.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.mutator.r-n.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.mutator.random_seed.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.offset.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.one-input.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Buffer: 0x04030201 0x08070605 0x0c0b0a0f 0x100f0e0d 22 | Buffer: 0x04030201 0x08070605 0x0c0b0a0f 23 | Buffer: 0x04030201 0x08070605 24 | done 25 | ~~Dr.M~~ NO ERRORS FOUND: 26 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 27 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 28 | ~~Dr.M~~ 0 unique, 0 total warning(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 31 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.one-input.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overflow.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 2 unique, 3 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overflow.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | 23 | Error #2: UNADDRESSABLE ACCESS beyond heap bounds: -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overread.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overread.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | The error thread was executing the fuzz target with input value: 23 | 01010000 02000000 03000000 04000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overwrite.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | The error thread was executing the fuzz target with input value: 23 | 01010000 02000000 03000000 04000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.overwrite.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | The error thread was executing the fuzz target with input value: 23 | 01010000 02000000 03000000 04000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.skip_initial.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.underread.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | 1 threads were executing fuzz targets. 23 | The error thread was executing the fuzz target with input value: 24 | 01010000 02000000 03000000 04000000 25 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.underread.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | 1 threads were executing fuzz targets. 23 | The error thread was executing the fuzz target with input value: 24 | 01010000 02000000 03000000 04000000 25 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.underwrite.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | The error thread was executing the fuzz target with input value: 23 | 01010000 02000000 03000000 04000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.underwrite.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: 22 | The error thread was executing the fuzz target with input value: 23 | 01010000 02000000 03000000 04000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.uninitialized.cpp.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | done 22 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 23 | ~~Dr.M~~ 1 unique, 40 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 28 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.uninitialized.cpp.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNINITIALIZED READ: 22 | The error thread was executing the fuzz target with input value: 23 | 01000000 00000000 00000000 00000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_buffer.uninitialized.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNINITIALIZED READ: 22 | The error thread was executing the fuzz target with input value: 23 | 01000000 00000000 00000000 00000000 24 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_custom_mutator.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/fuzz_threads.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/fuzz/input.dat: -------------------------------------------------------------------------------- 1 |  2 |  -------------------------------------------------------------------------------- /tests/gdi.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ ERRORS FOUND: 22 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 12 unique, 12 total GDI usage error(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/gdi.suppress: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | 22 | GDI USAGE ERROR 23 | name=test gdi error suppressions 24 | system call NtGdiDeleteObjectApp 25 | # w/o syms, mid-DeleteObject can show up as D3DKMTDestroyDevice 26 | GDI32.dll!* 27 | gdi.exe!test_suppress 28 | gdi.exe!main 29 | -------------------------------------------------------------------------------- /tests/handle.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ ERRORS FOUND: 22 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 24 | ~~Dr.M~~ 0 unique, 0 total GDI usage error(s) 25 | # The exact number varies quite a bit by platform. 26 | #~~Dr.M~~ 12 unique, 12 total handle leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | -------------------------------------------------------------------------------- /tests/handle_only.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ ERRORS FOUND: 22 | # The exact number varies quite a bit by platform. 23 | #~~Dr.M~~ 12 unique, 12 total handle leak(s) 24 | ~~Dr.M~~ 0 unique, 0 total warning(s) 25 | -------------------------------------------------------------------------------- /tests/hello.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2009 VMware, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | 24 | int main() 25 | { 26 | printf("Hello world!\n"); 27 | return 0; 28 | } 29 | -------------------------------------------------------------------------------- /tests/hello.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Hello world! 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/hello.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/leak_indirect.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2016-2021 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %OUT_OF_ORDER 22 | %if X32 23 | : LEAK 16 direct bytes + 48 indirect bytes 24 | leak_indirect.c:48 25 | : POSSIBLE LEAK 16 direct bytes + 0 indirect bytes 26 | leak_indirect.c:53 27 | : LEAK 16 direct bytes + 28 | leak_indirect.c:54 29 | %endif 30 | %if X64 31 | : LEAK 32 direct bytes + 96 indirect bytes 32 | leak_indirect.c:48 33 | : POSSIBLE LEAK 32 direct bytes + 0 indirect bytes 34 | leak_indirect.c:53 35 | : LEAK 32 direct bytes + 32 indirect bytes 36 | leak_indirect.c:54 37 | %endif 38 | -------------------------------------------------------------------------------- /tests/leak_string.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 2 unique, 2 total, 48 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/leak_string.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %OUT_OF_ORDER 22 | : LEAK 24 direct bytes + 0 indirect bytes 23 | # We don't list the line# b/c our test is fragile and non-deterministic: 24 | # if we don't get a heap allocated at just the right spot, the leak will 25 | # be in the else clause in the code. 26 | 27 | : LEAK 24 direct bytes + 0 indirect bytes 28 | -------------------------------------------------------------------------------- /tests/leakcycle.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2017 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %if X32 22 | Error #1: LEAK 4 direct bytes + 4 indirect bytes 23 | %endif 24 | %if X64 25 | Error #1: LEAK 8 direct bytes + 8 indirect bytes 26 | %endif 27 | # Either allocation site could be the root, it depends which had the lower 28 | # memory address. 29 | %ANYLINE 30 | leakcycle.cpp:60 31 | leakcycle.cpp:68 32 | %ENDANYLINE 33 | -------------------------------------------------------------------------------- /tests/leaks-only.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: INVALID HEAP ARGUMENT 23 | # addr2line and winsyms report slightly different results here 24 | malloc.c:181 25 | %if WINDOWS 26 | Error #2: WARNING: heap allocation failed 27 | malloc.c:192 28 | Error #3: INVALID HEAP ARGUMENT 29 | %endif 30 | %if WINDOWS_PRE_8 31 | malloc.c:204 32 | %endif 33 | %if WINDOWS_8_PLUS 34 | malloc.c:206 35 | %endif 36 | : LEAK 42 direct bytes + 17 indirect bytes 37 | malloc.c:240 38 | -------------------------------------------------------------------------------- /tests/loader.lib.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2014 Google, Inc. All rights reserved. 3 | * Copyright (c) 2010 VMware, Inc. All rights reserved. 4 | * **********************************************************/ 5 | 6 | /* Dr. Memory: the memory debugger 7 | * 8 | * This library is free software; you can redistribute it and/or 9 | * modify it under the terms of the GNU Lesser General Public 10 | * License as published by the Free Software Foundation; 11 | * version 2.1 of the License, and no later version. 12 | 13 | * This library is distributed in the hope that it will be useful, 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | * Library General Public License for more details. 17 | 18 | * You should have received a copy of the GNU Lesser General Public 19 | * License along with this library; if not, write to the Free Software 20 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | */ 22 | 23 | /* we want an import that cannot be satisfied */ 24 | extern void import_does_not_exist(void); 25 | 26 | void __attribute__ ((constructor)) 27 | my_init(void) 28 | { 29 | import_does_not_exist(); 30 | } 31 | 32 | void __attribute__ ((destructor)) 33 | my_fini(void) 34 | { 35 | /* nothing */ 36 | } 37 | -------------------------------------------------------------------------------- /tests/loader.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | -------------------------------------------------------------------------------- /tests/mac_zones.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | testing malloc zones 22 | done 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 25 | ~~Dr.M~~ 1 unique, 1 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/mac_zones.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015-2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNINITIALIZED READ 22 | mac_zones.c:51 23 | 24 | Error #2: UNADDRESSABLE ACCESS of freed memory: reading 4 byte(s) 25 | mac_zones.c:62 26 | that was freed 27 | mac_zones.c:61 28 | -------------------------------------------------------------------------------- /tests/malloc.heapstat.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | ~~Dr.H~~ 1 unique, 1 total, 59 byte(s) of leak(s) 23 | ~~Dr.H~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 24 | Error #1: LEAK 42 direct bytes + 17 indirect bytes 25 | malloc.c:240 26 | -------------------------------------------------------------------------------- /tests/memalign.pattern.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2015-2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | success 22 | ~~Dr.M~~ ERRORS FOUND: 23 | %if !MACOS 24 | ~~Dr.M~~ 6 unique, 6 total unaddressable access(es) 25 | %endif 26 | %if MACOS 27 | ~~Dr.M~~ 4 unique, 4 total unaddressable access(es) 28 | %endif 29 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 30 | ~~Dr.M~~ 1 unique, 1 total warning(s) 31 | -------------------------------------------------------------------------------- /tests/memlayout.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2020 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ Memory layout written to: 22 | ~~Dr.M~~ Memory layout written to: 23 | goodbye 24 | ~~Dr.M~~ ERRORS FOUND: 25 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 26 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 27 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 28 | ~~Dr.M~~ 0 unique, 0 total warning(s) 29 | ~~Dr.M~~ %ANY% unique, %ANY% total, %ANY% byte(s) of leak(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 31 | -------------------------------------------------------------------------------- /tests/mmap.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2021 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/mmap.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2021 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: writing 1 byte(s) 22 | mmap.c:53 23 | -------------------------------------------------------------------------------- /tests/multierror.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2014 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | 24 | int 25 | main() 26 | { 27 | int count = 30; 28 | int *fib = new int[count]; 29 | fib[0] = 0; 30 | fib[1] = 1; 31 | for (int i = 0; i < count; i++) { 32 | /* Ensure both a read and a write are reported (i#1476) */ 33 | fib[i+2] = fib[i] + fib[i+1]; 34 | } 35 | std::cout << "half-way value: " << fib[count/2] << std::endl; 36 | delete [] fib; 37 | return 0; 38 | } 39 | -------------------------------------------------------------------------------- /tests/multierror.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | half-way value: 610 22 | ~~Dr.M~~ 2 unique, 3 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 28 | -------------------------------------------------------------------------------- /tests/multierror.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: writing 4 byte(s) 22 | multierror.cpp:33 23 | Error #2: UNADDRESSABLE ACCESS beyond heap bounds: reading 4 byte(s) 24 | multierror.cpp:33 25 | -------------------------------------------------------------------------------- /tests/nosyms.cpp: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2013 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #include 23 | 24 | static void 25 | test_nomismatch() 26 | { 27 | /* i#1233: there should be no mismatch here, but asymmetric operator 28 | * stubs combined with no symbols will result in a mismatch unless 29 | * DrMem disables mismatch checking! 30 | */ 31 | int **x = new int *[7]; 32 | delete [] x; 33 | } 34 | 35 | 36 | int 37 | main() 38 | { 39 | test_nomismatch(); 40 | 41 | std::cout << "done" << std::endl; 42 | 43 | return 0; 44 | } 45 | -------------------------------------------------------------------------------- /tests/nosyms.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | done 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/nosyms.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/nudge.heapstat.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | starting 22 | # On Windows, the prefixes for messages from the nudge handler use ~~TID~~ 23 | # prefixes due to the injected thread. On Linux, it's ~~Dr.H~~. Just match the 24 | # trailing tildes. 25 | ~~ Received nudge 26 | ~~ Received nudge 27 | -------------------------------------------------------------------------------- /tests/nudge.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2014 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | %OUT_OF_ORDER 23 | # XXX: extra leak due to encoded pointer (PR 482555) is no longer happening on 24 | # my machine! not sure what's going on 25 | #%if WINDOWS 26 | #LEAK 128 direct bytes + 0 indirect bytes 27 | #crtheap.c:61 28 | #%endif 29 | LEAK 160 direct bytes + 0 indirect bytes 30 | infloop.c:96 31 | LEAK 42 direct bytes + 17 indirect bytes 32 | infloop.c:85 33 | -------------------------------------------------------------------------------- /tests/nudge_handle.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | -------------------------------------------------------------------------------- /tests/operators.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2019 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %if X32 22 | : WARNING: heap allocation failed 23 | operators.cpp:102 24 | : WARNING: heap allocation failed 25 | operators.cpp:116 26 | %endif 27 | : WARNING: heap allocation failed 28 | %if X64 29 | operators.cpp:142 30 | %endif 31 | %if X32 32 | operators.cpp:144 33 | %endif 34 | -------------------------------------------------------------------------------- /tests/patterns.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | 3 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | -------------------------------------------------------------------------------- /tests/patterns.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/perturb.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | %if UNIX 23 | Estimation of pi is 3.142425985001098 24 | %endif 25 | %if WINDOWS 26 | Starting 27 | Exiting 28 | %endif 29 | -------------------------------------------------------------------------------- /tests/procterm.addronly.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ERRORS FOUND: 22 | 0 unique, 0 total unaddressable access(es) 23 | 0 unique, 0 total invalid heap argument(s) 24 | 0 unique, 0 total warning(s) 25 | child has exited with status 9 26 | app exiting 27 | ERRORS FOUND: 28 | 1 unique, 1 total unaddressable access(es) 29 | 0 unique, 0 total invalid heap argument(s) 30 | 0 unique, 0 total warning(s) 31 | -------------------------------------------------------------------------------- /tests/procterm.addronly.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # We don't list the unaddr b/c runtest.cmake will pick the child's results 22 | # file (since larger). We rely on .out detecting the unaddr. 23 | -------------------------------------------------------------------------------- /tests/procterm.nativeparent.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: LEAK 42 direct bytes + 0 indirect bytes 22 | procterm.c:48 23 | procterm.c:54 24 | procterm.c:60 25 | -------------------------------------------------------------------------------- /tests/procterm.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012-2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # We don't list the unaddr b/c runtest.cmake will pick the child's results 22 | # file (since larger). We rely on .out detecting the unaddr. 23 | Error #1: LEAK 42 direct bytes + 0 indirect bytes 24 | procterm.c:48 25 | procterm.c:54 26 | procterm.c:60 27 | -------------------------------------------------------------------------------- /tests/pthreads.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Estimation of pi is 3.142425985001098 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 1 unique, 2 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/pthreads.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014-2015 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS beyond top of stack: reading 4 byte(s) 23 | pthreads.c:80 24 | # The precise number of bytes can vary so we just match the tail: 25 | byte(s) beyond the top of the stack 26 | -------------------------------------------------------------------------------- /tests/realloc.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010 Google, Inc. All rights reserved. 3 | # Copyright (c) 2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | success 23 | ~~Dr.M~~ NO ERRORS FOUND: 24 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/realloc.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | # empty 23 | -------------------------------------------------------------------------------- /tests/registers.blocklist.suppress: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | 21 | # Test i#1529: auto-blocklist whole-module uninit supp 22 | UNINITIALIZED READ 23 | name=i#1529 24 | registers*!* 25 | -------------------------------------------------------------------------------- /tests/selfmod.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Executed 0xabcd iters 22 | Executed 0x1234 iters 23 | Executed 0xef01 iters 24 | all done 25 | ~~Dr.M~~ NO ERRORS FOUND: 26 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 27 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 28 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 29 | ~~Dr.M~~ 0 unique, 0 total warning(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 31 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 32 | -------------------------------------------------------------------------------- /tests/selfmod.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/signal.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/skip-results.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | malloc 23 | malloc small 24 | malloc 0 25 | malloc big 26 | calloc 27 | realloc 28 | invalid free 29 | %if WINDOWS 30 | HeapFree failed 87 31 | %endif 32 | all done 33 | -------------------------------------------------------------------------------- /tests/stale.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | -------------------------------------------------------------------------------- /tests/stale.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/state.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | starting 22 | generating SIGSEGV 23 | eax is correct 24 | done 25 | ~~Dr.M~~ ERRORS FOUND: 26 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 27 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 28 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 29 | ~~Dr.M~~ 0 unique, 0 total warning(s) 30 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 31 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) -------------------------------------------------------------------------------- /tests/state.pattern.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | starting 22 | generating SIGSEGV 23 | eax is correct 24 | done 25 | ~~Dr.M~~ ERRORS FOUND: 26 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 27 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 28 | ~~Dr.M~~ 0 unique, 0 total warning(s) 29 | -------------------------------------------------------------------------------- /tests/state.pattern.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014-2019 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS: writing 1 byte(s) 22 | state.c:136 23 | -------------------------------------------------------------------------------- /tests/state.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2014-2019 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS: writing 1 byte(s) 22 | state.c:136 23 | -------------------------------------------------------------------------------- /tests/suppress-mod-bar.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifdef _MSC_VER 23 | # define EXPORT __declspec(dllexport) 24 | #else 25 | # define EXPORT __attribute__((visibility("default"))) 26 | #endif 27 | 28 | EXPORT void 29 | callback_with_n_frames(void (*func)(void), unsigned n) 30 | { 31 | if (n <= 1) { 32 | func(); 33 | } else { 34 | callback_with_n_frames(func, n - 1); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tests/suppress-mod-foo.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | * 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | * 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | #ifdef _MSC_VER 23 | # define EXPORT __declspec(dllexport) 24 | #else 25 | # define EXPORT __attribute__((visibility("default"))) 26 | #endif 27 | 28 | EXPORT void 29 | callback_with_n_frames(void (*func)(void), unsigned n) 30 | { 31 | if (n <= 1) { 32 | func(); 33 | } else { 34 | callback_with_n_frames(func, n - 1); 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /tests/suppress-noerrors.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | 22 | NO ERRORS FOUND: 23 | 0 unique, 0 total unaddressable access(es) 24 | 0 unique, 0 total uninitialized access(es) 25 | 0 unique, 0 total invalid heap argument(s) 26 | 0 unique, 0 total warning(s) 27 | 0 unique, 0 total, 0 byte(s) of leak(s) 28 | 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/syscall_file.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | ~~Dr.M~~ NO ERRORS FOUND: 22 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 23 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 28 | -------------------------------------------------------------------------------- /tests/syscall_file.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2016 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/syscalls_unix.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2014 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 6 unique, 10 total unaddressable access(es) 24 | ~~Dr.M~~ 5 unique, 5 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/time-allocs.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: INVALID HEAP ARGUMENT 23 | %if WINDOWS 24 | # addr2line and winsyms report slightly different results here 25 | malloc.c:166 26 | %endif 27 | %if UNIX 28 | malloc.c:181 29 | %endif 30 | %if WINDOWS 31 | Error #2: WARNING: heap allocation failed 32 | malloc.c:192 33 | %endif 34 | %if WINDOWS_PRE_8 35 | malloc.c:204 36 | %endif 37 | %if WINDOWS_8_PLUS 38 | malloc.c:206 39 | %endif 40 | : LEAK 42 direct bytes + 17 indirect bytes 41 | malloc.c:240 42 | -------------------------------------------------------------------------------- /tests/time-bytes.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: INVALID HEAP ARGUMENT 23 | %if WINDOWS 24 | # addr2line and winsyms report slightly different results here 25 | malloc.c:166 26 | %endif 27 | %if UNIX 28 | malloc.c:181 29 | %endif 30 | %if WINDOWS 31 | Error #2: WARNING: heap allocation failed 32 | malloc.c:192 33 | %endif 34 | %if WINDOWS_PRE_8 35 | malloc.c:204 36 | %endif 37 | %if WINDOWS_8_PLUS 38 | malloc.c:206 39 | %endif 40 | : LEAK 42 direct bytes + 17 indirect bytes 41 | malloc.c:240 42 | -------------------------------------------------------------------------------- /tests/time-instrs.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2010-2016 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: INVALID HEAP ARGUMENT 23 | %if WINDOWS 24 | # addr2line and winsyms report slightly different results here 25 | malloc.c:166 26 | %endif 27 | %if UNIX 28 | malloc.c:181 29 | %endif 30 | %if WINDOWS 31 | Error #2: WARNING: heap allocation failed 32 | malloc.c:192 33 | %endif 34 | %if WINDOWS_PRE_8 35 | malloc.c:204 36 | %endif 37 | %if WINDOWS_8_PLUS 38 | malloc.c:206 39 | %endif 40 | : LEAK 42 direct bytes + 17 indirect bytes 41 | malloc.c:240 42 | -------------------------------------------------------------------------------- /tests/track_origins.c: -------------------------------------------------------------------------------- 1 | /* ********************************************************** 2 | * Copyright (c) 2012 Google, Inc. All rights reserved. 3 | * **********************************************************/ 4 | 5 | /* Dr. Memory: the memory debugger 6 | * 7 | * This library is free software; you can redistribute it and/or 8 | * modify it under the terms of the GNU Lesser General Public 9 | * License as published by the Free Software Foundation; 10 | * version 2.1 of the License, and no later version. 11 | 12 | * This library is distributed in the hope that it will be useful, 13 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | * Library General Public License for more details. 16 | 17 | * You should have received a copy of the GNU Lesser General Public 18 | * License along with this library; if not, write to the Free Software 19 | * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | */ 21 | 22 | /* Test track origins feature */ 23 | #include 24 | #include 25 | #include 26 | 27 | #define MALLOC_SIZE 0x20 28 | 29 | int 30 | main() 31 | { 32 | int **p; 33 | int i; 34 | 35 | p = malloc(MALLOC_SIZE); 36 | /* ERROR: unaddressable error caused by read uninitialized data for 37 | * track-origins test. 38 | */ 39 | i = *p[1]; 40 | free(p); 41 | printf("all done\n"); 42 | return 0; 43 | } 44 | -------------------------------------------------------------------------------- /tests/track_origins.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ ERRORS FOUND: 23 | ~~Dr.M~~ 1 unique, 1 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 25 | ~~Dr.M~~ 0 unique, 0 total warning(s) 26 | -------------------------------------------------------------------------------- /tests/track_origins.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2012 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 4 byte(s) 22 | track_origins.c:39 23 | Note: the unaddressable error may have been caused by using an uninitialized 24 | Note: variable from memory 25 | -------------------------------------------------------------------------------- /tests/unload.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 29 | -------------------------------------------------------------------------------- /tests/unload.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | -------------------------------------------------------------------------------- /tests/unloadMD.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | all done 22 | ~~Dr.M~~ NO ERRORS FOUND: 23 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 24 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 25 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 26 | ~~Dr.M~~ 0 unique, 0 total warning(s) 27 | -------------------------------------------------------------------------------- /tests/unloadMD.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2013 Google, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | -------------------------------------------------------------------------------- /tests/varstack.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | in foo 22 | in foo 23 | data[10] = 0 24 | in foo 25 | in foo 26 | data[10] = 0 27 | all done 28 | ~~Dr.M~~ NO ERRORS FOUND: 29 | ~~Dr.M~~ 0 unique, 0 total unaddressable access(es) 30 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 31 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 32 | ~~Dr.M~~ 0 unique, 0 total warning(s) 33 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 34 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 35 | -------------------------------------------------------------------------------- /tests/varstack.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | # empty 22 | -------------------------------------------------------------------------------- /tests/wincrt.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2013 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Done 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 5 unique, 5 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/wincrt.replace.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2013 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Done 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 5 unique, 5 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 2 unique, 2 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/wincrt.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2013 Google, Inc. All rights reserved. 3 | # Copyright (c) 2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Error #1: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 23 | wincrt.cpp:42 24 | Error #2: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 25 | wincrt.cpp:43 26 | Error #3: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 27 | wincrt.cpp:44 28 | Error #4: UNADDRESSABLE ACCESS beyond heap bounds: reading 1 byte(s) 29 | wincrt.cpp:45 30 | : UNADDRESSABLE ACCESS beyond heap bounds: writing 1 byte(s) 31 | wincrt.cpp:100 32 | -------------------------------------------------------------------------------- /tests/wincrtdbg.out: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2011-2013 Google, Inc. All rights reserved. 3 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 4 | # ********************************************************** 5 | # 6 | # Dr. Memory: the memory debugger 7 | # 8 | # This library is free software; you can redistribute it and/or 9 | # modify it under the terms of the GNU Lesser General Public 10 | # License as published by the Free Software Foundation; 11 | # version 2.1 of the License, and no later version. 12 | # 13 | # This library is distributed in the hope that it will be useful, 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 16 | # Library General Public License for more details. 17 | # 18 | # You should have received a copy of the GNU Lesser General Public 19 | # License along with this library; if not, write to the Free Software 20 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 21 | # 22 | Done 23 | ~~Dr.M~~ ERRORS FOUND: 24 | ~~Dr.M~~ 8 unique, 8 total unaddressable access(es) 25 | ~~Dr.M~~ 0 unique, 0 total uninitialized access(es) 26 | ~~Dr.M~~ 0 unique, 0 total invalid heap argument(s) 27 | ~~Dr.M~~ 0 unique, 0 total warning(s) 28 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of leak(s) 29 | ~~Dr.M~~ 0 unique, 0 total, 0 byte(s) of possible leak(s) 30 | -------------------------------------------------------------------------------- /tests/winthreads.res: -------------------------------------------------------------------------------- 1 | # ********************************************************** 2 | # Copyright (c) 2009-2010 VMware, Inc. All rights reserved. 3 | # ********************************************************** 4 | # 5 | # Dr. Memory: the memory debugger 6 | # 7 | # This library is free software; you can redistribute it and/or 8 | # modify it under the terms of the GNU Lesser General Public 9 | # License as published by the Free Software Foundation; 10 | # version 2.1 of the License, and no later version. 11 | # 12 | # This library is distributed in the hope that it will be useful, 13 | # but WITHOUT ANY WARRANTY; without even the implied warranty of 14 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 | # Library General Public License for more details. 16 | # 17 | # You should have received a copy of the GNU Lesser General Public 18 | # License along with this library; if not, write to the Free Software 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. 20 | # 21 | %OUT_OF_ORDER 22 | : UNADDRESSABLE ACCESS beyond heap bounds: writing 1 byte(s) 23 | winthreads.c:36 24 | refers to 1 byte(s) beyond last valid byte in prior malloc 25 | : UNINITIALIZED READ 26 | winthreads.c:38 27 | -------------------------------------------------------------------------------- /wininc/kernel32_private.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a Wine headers to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from Wine /dlls/kernel32/kernel32_private.h */ 14 | 15 | /* Kernel32 undocumented and private function definitions */ 16 | 17 | BOOL 18 | WINAPI 19 | VerifyConsoleIoHandle( 20 | __in HANDLE Handle 21 | ); 22 | -------------------------------------------------------------------------------- /wininc/ktmtypes.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created to make information necessary for userspace 5 | *** to call into the Windows kernel available to Dr. Memory. It contains 6 | *** only constants, structures, and macros, and thus, contains no 7 | *** copyrightable information. 8 | *** 9 | **************************************************************************** 10 | ****************************************************************************/ 11 | 12 | #ifndef _KTMTYPES_ 13 | #define _KTMTYPES_ 1 14 | 15 | /* Data types added since VS2005, typically in SDK6.0a. 16 | * We assume that cl 14.00 is not being used in conjunction with SDK6.0a 17 | * and instead is being used with the VS2005-included SDK (there's 18 | * no other way to test for SDK versions until post-7.0 in WinSDKVer.h). 19 | */ 20 | 21 | #if _MSC_VER < 1500 22 | 23 | typedef GUID CRM_PROTOCOL_ID, *PCRM_PROTOCOL_ID; 24 | 25 | typedef ULONG NOTIFICATION_MASK; 26 | 27 | #endif /* _MSC_VER < 1500 */ 28 | 29 | #endif /* _KTMTYPES_ */ 30 | 31 | -------------------------------------------------------------------------------- /wininc/ndk_lpctypes.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a ReactOS header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from reactos/include/ndk/lpctypes.h */ 14 | 15 | #ifndef _LPCTYPES_H 16 | #define _LPCTYPES_H 17 | 18 | // 19 | // Information Classes for NtQueryInformationPort 20 | // 21 | typedef enum _PORT_INFORMATION_CLASS { 22 | PortBasicInformation 23 | #if DEVL 24 | , PortDumpInformation 25 | #endif 26 | } PORT_INFORMATION_CLASS; 27 | 28 | 29 | #endif /*_LPCTYPES_H */ 30 | -------------------------------------------------------------------------------- /wininc/ndk_mmtypes.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a ReactOS header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from reactos/include/ndk/mmtypes.h */ 14 | 15 | #ifndef _MMTYPES_H 16 | #define _MMTYPES_H 17 | 18 | // 19 | // Memory Information Classes for NtQueryVirtualMemory 20 | // 21 | typedef enum _MEMORY_INFORMATION_CLASS 22 | { 23 | MemoryBasicInformation, 24 | MemoryWorkingSetList, 25 | MemorySectionName, 26 | MemoryBasicVlmInformation 27 | } MEMORY_INFORMATION_CLASS; 28 | 29 | // 30 | // Section Information Clasess for NtQuerySection 31 | // 32 | typedef enum _SECTION_INFORMATION_CLASS 33 | { 34 | SectionBasicInformation, 35 | SectionImageInformation, 36 | } SECTION_INFORMATION_CLASS; 37 | 38 | #endif /*_MMTYPES_H */ 39 | -------------------------------------------------------------------------------- /wininc/ntddk.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a Windows DDK header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | #ifndef _NTDDK_ 14 | #define _NTDDK_ 15 | 16 | /*************************************************************************** 17 | * from DDK/WDK ntddk.h 18 | */ 19 | 20 | typedef struct _FILE_NAME_INFORMATION { 21 | ULONG FileNameLength; 22 | WCHAR FileName[1]; 23 | } FILE_NAME_INFORMATION, *PFILE_NAME_INFORMATION; 24 | 25 | typedef struct _FILE_DISPOSITION_INFORMATION { 26 | BOOLEAN DeleteFile; 27 | } FILE_DISPOSITION_INFORMATION, *PFILE_DISPOSITION_INFORMATION; 28 | 29 | typedef struct _FILE_END_OF_FILE_INFORMATION { 30 | LARGE_INTEGER EndOfFile; 31 | } FILE_END_OF_FILE_INFORMATION, *PFILE_END_OF_FILE_INFORMATION; 32 | 33 | typedef struct _FILE_VALID_DATA_LENGTH_INFORMATION { 34 | LARGE_INTEGER ValidDataLength; 35 | } FILE_VALID_DATA_LENGTH_INFORMATION, *PFILE_VALID_DATA_LENGTH_INFORMATION; 36 | 37 | #endif /* _NTDDK_ */ 38 | -------------------------------------------------------------------------------- /wininc/ntkeapi.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a ProcessHacker header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from phlib/include/ntkeapi.h */ 14 | 15 | #ifndef __PHLIB_NTKEAPI_H 16 | #define __PHLIB_NTKEAPI_H 17 | 18 | /************************************************** 19 | * Syscalls added in Vista SP0 20 | */ 21 | VOID NTAPI 22 | NtFlushProcessWriteBuffers(VOID); 23 | 24 | #endif /* __PHLIB_NTKEAPI_H */ 25 | 26 | /* EOF */ 27 | -------------------------------------------------------------------------------- /wininc/ntmisc.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created from a ProcessHacker header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from phlib/include/ntmisc.h */ 14 | 15 | #ifndef __PHLIB_NTMISC_H 16 | #define __PHLIB_NTMISC_H 17 | 18 | NTSTATUS NTAPI 19 | NtDrawText( 20 | __in PUNICODE_STRING Text 21 | ); 22 | 23 | NTSTATUS NTAPI 24 | NtTraceControl( 25 | __in ULONG FunctionCode, 26 | __in_bcount_opt(InBufferLen) PVOID InBuffer, 27 | __in ULONG InBufferLen, 28 | __out_bcount_opt(OutBufferLen) PVOID OutBuffer, 29 | __in ULONG OutBufferLen, 30 | __out PULONG ReturnLength 31 | ); 32 | 33 | NTSTATUS NTAPI 34 | NtSetWnfProcessNotificationEvent( 35 | __in HANDLE Unknown1 36 | ); 37 | 38 | #endif /* __PHLIB_NTMISC_H */ 39 | 40 | /* EOF */ 41 | -------------------------------------------------------------------------------- /wininc/ntobapi.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was generated from a ProcessHacker header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from phlib/include/ntobapi.h */ 14 | 15 | #ifndef __PHLIB_NTOBAPI_H 16 | #define __PHLIB_NTOBAPI_H 17 | 18 | NTSTATUS 19 | NTAPI 20 | NtOpenPrivateNamespace( 21 | __out PHANDLE NamespaceHandle, 22 | __in ACCESS_MASK DesiredAccess, 23 | __in_opt POBJECT_ATTRIBUTES ObjectAttributes, 24 | __in PVOID BoundaryDescriptor 25 | ); 26 | 27 | NTSTATUS 28 | NTAPI 29 | NtCreatePrivateNamespace( 30 | __out PHANDLE NamespaceHandle, 31 | __in ACCESS_MASK DesiredAccess, 32 | __in_opt POBJECT_ATTRIBUTES ObjectAttributes, 33 | __in PVOID BoundaryDescriptor 34 | ); 35 | 36 | NTSTATUS 37 | NTAPI 38 | NtDeletePrivateNamespace( 39 | __in HANDLE NamespaceHandle 40 | ); 41 | 42 | #endif /* __PHLIB_NTOBAPI_H */ 43 | 44 | /* EOF */ 45 | -------------------------------------------------------------------------------- /wininc/ntpnpapi.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created from a ProcessHacker header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | /* from phlib/include/ntpnpapi.h */ 13 | 14 | #ifndef __PHLIB_NTPNPAPI_H 15 | #define __PHLIB_NTPNPAPI_H 16 | 17 | NTSTATUS 18 | NTAPI 19 | NtReplacePartitionUnit( 20 | __in PUNICODE_STRING TargetInstancePath, 21 | __in PUNICODE_STRING SpareInstancePath, 22 | __in ULONG Flags 23 | ); 24 | 25 | NTSTATUS 26 | NTAPI 27 | NtSerializeBoot( 28 | VOID 29 | ); 30 | 31 | #endif /* __PHLIB_NTPNPAPI_H */ 32 | 33 | /* EOF */ 34 | 35 | -------------------------------------------------------------------------------- /wininc/ntseapi.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created from a ProcessHacker header to make 5 | *** information necessary for userspace to call into the Windows 6 | *** kernel available to Dr. Memory. It contains only constants, 7 | *** structures, and macros generated from the original header, and 8 | *** thus, contains no copyrightable information. 9 | *** 10 | **************************************************************************** 11 | ****************************************************************************/ 12 | 13 | /* from phlib/include/ntseapi.h */ 14 | 15 | #ifndef __PHLIB_NTSEAPI_H 16 | #define __PHLIB_NTSEAPI_H 17 | 18 | NTSTATUS 19 | NTAPI 20 | NtQuerySecurityAttributesToken( 21 | __in HANDLE TokenHandle, 22 | __in_ecount_opt(NumberOfAttributes) PUNICODE_STRING Attributes, 23 | __in ULONG NumberOfAttributes, 24 | __out_bcount(Length) PVOID Buffer 25 | __in ULONG Length, 26 | __out PULONG ReturnLength 27 | ); 28 | 29 | #endif /* __PHLIB_NTSEAPI_H */ 30 | /* EOF */ 31 | -------------------------------------------------------------------------------- /wininc/ntuser_ex.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created to make information necessary for userspace 5 | *** to call into the Windows kernel available to Dr. Memory. It contains 6 | *** only constants, structures, and macros, and thus, contains no 7 | *** copyrightable information. 8 | *** 9 | **************************************************************************** 10 | ****************************************************************************/ 11 | 12 | #ifndef _NTUSER_EX_ 13 | #define _NTUSER_EX_ 1 14 | 15 | /* The data structure used for NtUserBuildPropList. 16 | * ReactOS has this as PROPLISTITEM but that does not match true Windows. 17 | */ 18 | typedef struct _USER_PROP_LIST_ENTRY 19 | { 20 | /* This first field seems to be a pointer to a string, but on x64 it is no 21 | * larger, or on x86 there is a NULL padding after it. 22 | */ 23 | DWORD Unknown1; 24 | /* This one is always 0 */ 25 | DWORD Unknown2; 26 | ATOM Atom; 27 | /* This is uninitialized */ 28 | DWORD Unknown3; 29 | } USER_PROP_LIST_ENTRY, *PUSER_PROP_LIST_ENTRY; 30 | 31 | #endif /* _NTUSER_EX_ */ 32 | -------------------------------------------------------------------------------- /wininc/ntuser_win8.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | **************************************************************************** 3 | *** 4 | *** This header was created to make information necessary for userspace 5 | *** to call into the Windows kernel available to Dr. Memory. It contains 6 | *** only constants, structures, and macros, and thus, contains no 7 | *** copyrightable information. 8 | *** 9 | **************************************************************************** 10 | ****************************************************************************/ 11 | 12 | #ifndef _NTUSER_WIN8_ 13 | #define _NTUSER_WIN8_ 1 14 | 15 | /* Observed called from IMM32!IsLegacyIMEDisabled. Both fields are written 16 | * with 0 in all observed instances. 17 | */ 18 | typedef struct _PROCESS_UI_CONTEXT 19 | { 20 | DWORD Unknown1; 21 | DWORD Unknown2; 22 | } PROCESS_UI_CONTEXT, *PPROCESS_UI_CONTEXT; 23 | 24 | BOOL 25 | NTAPI 26 | NtUserGetProcessUIContextInformation( 27 | __in HANDLE ProcessHandle, 28 | __out PROCESS_UI_CONTEXT *ContextInformation 29 | ); 30 | 31 | /* This can be observed just starting up calc.exe on Windows 8.1, called from 32 | * C:\Program Files (x86)\Common Files\Microsoft Shared\Ink\tiptsf.dll 33 | */ 34 | BOOL 35 | NTAPI 36 | NtUserGetWindowBand(__in HANDLE hwnd, 37 | __out DWORD *value); 38 | 39 | #endif /* _NTUSER_WIN8_ */ 40 | 41 | --------------------------------------------------------------------------------