~ubuntu-branches/ubuntu/maverick/clamav/maverick-security

« back to all changes in this revision

Viewing changes to libclamav/c++/llvm/lib/System/Win32/Signals.inc

  • Committer: Bazaar Package Importer
  • Author(s): Marc Deslauriers
  • Date: 2011-02-23 14:27:51 UTC
  • mfrom: (0.35.17 sid)
  • Revision ID: james.westby@ubuntu.com-20110223142751-o9xb8jyvhkh75d0n
Tags: 0.96.5+dfsg-1ubuntu1.10.10.2
* SECURITY UPDATE: denial of service via double free in vba processing
  - libclamav/vba_extract.c: set buf to NULL when it gets freed.
  - http://git.clamav.net/gitweb?p=clamav-devel.git;a=commit;h=d21fb8d975f8c9688894a8cef4d50d977022e09f
  - CVE-2011-1003

Show diffs side-by-side

added added

removed removed

Lines of Context:
140
140
  return false;
141
141
}
142
142
 
 
143
// DontRemoveFileOnSignal - The public API
 
144
void sys::DontRemoveFileOnSignal(const sys::Path &Filename) {
 
145
  if (FilesToRemove == NULL)
 
146
    return;
 
147
 
 
148
  FilesToRemove->push_back(Filename);
 
149
  std::vector<sys::Path>::reverse_iterator I =
 
150
  std::find(FilesToRemove->rbegin(), FilesToRemove->rend(), Filename);
 
151
  if (I != FilesToRemove->rend())
 
152
    FilesToRemove->erase(I.base()-1);
 
153
 
 
154
  LeaveCriticalSection(&CriticalSection);
 
155
}
 
156
 
143
157
/// PrintStackTraceOnErrorSignal - When an error signal (such as SIBABRT or
144
158
/// SIGSEGV) is delivered to the process, print a stack trace and then exit.
145
159
void sys::PrintStackTraceOnErrorSignal() {
189
203
  LeaveCriticalSection(&CriticalSection);
190
204
}
191
205
 
 
206
void llvm::sys::RunInterruptHandlers() {
 
207
  Cleanup();
 
208
}
 
209
 
192
210
static LONG WINAPI LLVMUnhandledExceptionFilter(LPEXCEPTION_POINTERS ep) {
193
211
  try {
194
212
    Cleanup();
279
297
 
280
298
#ifdef _MSC_VER
281
299
  if (ExitOnUnhandledExceptions)
282
 
        _exit(-3);
 
300
    _exit(-3);
283
301
#endif
284
302
 
285
303
  // Allow dialog box to pop up allowing choice to start debugger.