~ubuntu-branches/ubuntu/quantal/enigmail/quantal-security

« back to all changes in this revision

Viewing changes to build/win32/crashinjectdll/crashinjectdll.cpp

  • Committer: Package Import Robot
  • Author(s): Chris Coulson
  • Date: 2013-09-13 16:02:15 UTC
  • mfrom: (0.12.16)
  • Revision ID: package-import@ubuntu.com-20130913160215-u3g8nmwa0pdwagwc
Tags: 2:1.5.2-0ubuntu0.12.10.1
* New upstream release v1.5.2 for Thunderbird 24

* Build enigmail using a stripped down Thunderbird 17 build system, as it's
  now quite difficult to build the way we were doing previously, with the
  latest Firefox build system
* Add debian/patches/no_libxpcom.patch - Don't link against libxpcom, as it
  doesn't exist anymore (but exists in the build system)
* Add debian/patches/use_sdk.patch - Use the SDK version of xpt.py and
  friends
* Drop debian/patches/ipc-pipe_rename.diff (not needed anymore)
* Drop debian/patches/makefile_depth.diff (not needed anymore)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* This Source Code Form is subject to the terms of the Mozilla Public
2
 
 * License, v. 2.0. If a copy of the MPL was not distributed with this
3
 
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
 
 
5
 
#include <stdio.h>
6
 
#include <windows.h>
7
 
 
8
 
// make sure we only ever spawn one thread
9
 
DWORD tid = -1;
10
 
 
11
 
DWORD WINAPI CrashingThread(
12
 
  LPVOID lpParameter
13
 
)
14
 
{
15
 
  // not a very friendly DLL
16
 
  volatile int* x = (int *)0x0;
17
 
  *x = 1;
18
 
  return 0;
19
 
}
20
 
 
21
 
BOOL WINAPI DllMain(
22
 
  HANDLE hinstDLL,
23
 
  DWORD dwReason,
24
 
  LPVOID lpvReserved
25
 
)
26
 
{
27
 
  if (tid == -1)
28
 
    // we have to crash on another thread because LoadLibrary() will
29
 
    // catch memory access errors and return failure to the calling process
30
 
    CreateThread(
31
 
                 NULL,                   // default security attributes
32
 
                 0,                      // use default stack size
33
 
                 CrashingThread  ,       // thread function name
34
 
                 NULL,                   // argument to thread function
35
 
                 0,                      // use default creation flags
36
 
                 &tid);                  // returns the thread identifier
37
 
  return TRUE;
38
 
}