Hi Andrey,
On 07/18/2010 12:39 PM, Andrey Turkin wrote:
+static BOOL IMAGEHLP_ReportImportSection( IMAGE_SECTION_HEADER *hdr,
+ DWORD num_sections, BYTE *map, DWORD fileSize, DWORD DigestLevel,
+ DIGEST_FUNCTION DigestFunction, DIGEST_HANDLE DigestHandle )
+{
+ BOOL ret = FALSE;
+ DWORD offset, size, base;
+ PBYTE import;
import is defined here but not used any further down the line.
+
+ /* Get import data */
+ offset = IMAGEHLP_GetSectionOffset( hdr, num_sections, ".idata",&size,
+&base );
+ if( !offset )
+ return FALSE;
+
+ /* If CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO is set, the entire
+ * section is reported. Otherwise, the debug info section is
+ * decoded and reported piecemeal. See tests. However, I haven't been
+ * able to figure out how the native implementation decides which values
+ * to report. Either it's buggy or my understanding is flawed.
+ */
+ if( DigestLevel& CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO )
+ ret = IMAGEHLP_ReportSectionFromOffset( offset, size, map, fileSize,
+ DigestFunction, DigestHandle );
+ else
+ {
+ FIXME("not supported except for
CERT_PE_IMAGE_DIGEST_ALL_IMPORT_INFO\n");
+ SetLastError(ERROR_INVALID_PARAMETER);
+ ret = FALSE;
+ }
+ HeapFree( GetProcessHeap(), 0, import );
Only freed.
Can 'import' be removed? Coverity complained.
--
Cheers,
Paul.