* hookapi.cc: Add comment header

(putmem): Make static.
(get_export): Ditto.
(rvadelta): Ditto.  Don't assume that a section which ends where the import_rva
begins is the import list.
* child_info.h: Update copyright.
* fork.cc: Ditto.
This commit is contained in:
Christopher Faylor 2006-07-06 17:16:37 +00:00
parent 26d31dc917
commit b4054e7706
4 changed files with 27 additions and 6 deletions

View File

@ -1,3 +1,14 @@
2006-07-06 Christopher Faylor <cgf@timesys.com>
* hookapi.cc: Add comment header
(putmem): Make static.
(get_export): Ditto.
(rvadelta): Ditto. Don't assume that a section which ends where the
import_rva begins is the import list.
* child_info.h: Update copyright.
* fork.cc: Ditto.
2006-07-05 Christopher Faylor <cgf@timesys.com> 2006-07-05 Christopher Faylor <cgf@timesys.com>
* sortdin: Ignore all leading underscores when deriving a sort key. * sortdin: Ignore all leading underscores when deriving a sort key.

View File

@ -1,6 +1,6 @@
/* child_info.h: shared child info for cygwin /* child_info.h: shared child info for cygwin
Copyright 2000, 2001, 2002, 2003, 2004, 2005 Red Hat, Inc. Copyright 2000, 2001, 2002, 2003, 2004, 2005, 2006 Red Hat, Inc.
This file is part of Cygwin. This file is part of Cygwin.

View File

@ -1,6 +1,6 @@
/* fork.cc /* fork.cc
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005 Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2005, 2006
Red Hat, Inc. Red Hat, Inc.
This file is part of Cygwin. This file is part of Cygwin.

View File

@ -1,3 +1,13 @@
/* hookapi.cc
Copyright 2005, 2006 Red Hat, Inc.
This file is part of Cygwin.
This software is a copyrighted work licensed under the terms of the
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
details. */
#include "winsup.h" #include "winsup.h"
#include "cygerrno.h" #include "cygerrno.h"
#include "security.h" #include "security.h"
@ -38,19 +48,19 @@ PEHeaderFromHModule (HMODULE hModule)
return pNTHeader; return pNTHeader;
} }
long static long
rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva) rvadelta (PIMAGE_NT_HEADERS pnt, DWORD import_rva)
{ {
PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1); PIMAGE_SECTION_HEADER section = (PIMAGE_SECTION_HEADER) (pnt + 1);
for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++) for (int i = 0; i < pnt->FileHeader.NumberOfSections; i++)
if (section[i].VirtualAddress <= import_rva if (section[i].VirtualAddress <= import_rva
&& (section[i].VirtualAddress + section[i].Misc.VirtualSize) >= import_rva) && (section[i].VirtualAddress + section[i].Misc.VirtualSize) > import_rva)
// if (strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME)) // if (strncasematch ((char *) section[i].Name, ".idata", IMAGE_SIZEOF_SHORT_NAME))
return section[i].VirtualAddress - section[i].PointerToRawData; return section[i].VirtualAddress - section[i].PointerToRawData;
return -1; return -1;
} }
void * static void *
putmem (PIMAGE_THUNK_DATA pi, const void *hookfn) putmem (PIMAGE_THUNK_DATA pi, const void *hookfn)
{ {
DWORD ofl; DWORD ofl;
@ -108,7 +118,7 @@ RedirectIAT (function_hook& fh, PIMAGE_IMPORT_DESCRIPTOR pImportDesc,
return true; return true;
} }
void static void
get_export (function_hook& fh) get_export (function_hook& fh)
{ {
PIMAGE_DOS_HEADER pdh = (PIMAGE_DOS_HEADER) cygwin_hmodule; PIMAGE_DOS_HEADER pdh = (PIMAGE_DOS_HEADER) cygwin_hmodule;