From 5d498a4eae1f1c0f2c5df0a366d2e9591616b6ec Mon Sep 17 00:00:00 2001 From: Niall Newman Date: Fri, 25 Feb 2022 09:21:10 +0000 Subject: [PATCH] Attempt to fix issues with CI build --- configure.ac | 1 + libyara/modules/pe/pe.c | 4 ++-- tests/BUILD.bazel | 20 ++++++++++++++++++++ tests/test-pe.c | 2 +- windows/vs2015/libyara/libyara.vcxproj | 10 +++++----- windows/vs2017/libyara/libyara.vcxproj | 2 +- windows/vs2019/libyara/libyara.vcxproj | 2 +- 7 files changed, 31 insertions(+), 10 deletions(-) diff --git a/configure.ac b/configure.ac index 8df0c8f0c1..9d63d64bb3 100644 --- a/configure.ac +++ b/configure.ac @@ -52,6 +52,7 @@ case $host_os in proc_interface=mach jemalloc_prefix=je_ ;; mingw*|cygwin*) CFLAGS="$CFLAGS -DUSE_WINDOWS_PROC" + LDFLAGS="$LDFLAGS -lntdll" proc_interface=windows jemalloc_prefix= ;; linux*|netbsd*|dragonfly*|kfreebsd*) diff --git a/libyara/modules/pe/pe.c b/libyara/modules/pe/pe.c index e47bfcc8e0..2a5e725f0a 100644 --- a/libyara/modules/pe/pe.c +++ b/libyara/modules/pe/pe.c @@ -1569,7 +1569,7 @@ static void pe_parse_exports(PE* pe) if (offset > 0) { remaining = pe->data_size - (size_t) offset; - char* name; + char* name = NULL; if (pe->memory) { get_data_pointer_memory(pe, offset, name, char*); @@ -1723,7 +1723,7 @@ static void pe_parse_exports(PE* pe) if (offset > 0) { - char* name; + char* name = NULL; if (pe->memory) { get_data_pointer_memory_with_size(pe, offset, name, char*, remaining); diff --git a/tests/BUILD.bazel b/tests/BUILD.bazel index 7141988e53..808feec641 100644 --- a/tests/BUILD.bazel +++ b/tests/BUILD.bazel @@ -32,6 +32,11 @@ COPTS = [ "-std=c99", ] + +LOPTS = [ + "-lntdll", +] + cc_library( name = "blob", hdrs = ["blob.h"], @@ -40,6 +45,7 @@ cc_library( cc_library( name = "util", srcs = ["util.c"], + linkopts = LOPTS, copts = COPTS, textual_hdrs = ["util.h"], deps = ["@//:libyara"], @@ -48,6 +54,7 @@ cc_library( cc_test( name = "test_alignment", srcs = ["test-alignment.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -59,6 +66,7 @@ cc_test( cc_test( name = "test_arena", srcs = ["test-arena.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -70,6 +78,7 @@ cc_test( cc_test( name = "test_atoms", srcs = ["test-atoms.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -87,6 +96,7 @@ cc_binary( cc_test( name = "test_rules", srcs = ["test-rules.c"], + linkopts = LOPTS, copts = COPTS, data = [ "data/base64", @@ -109,6 +119,7 @@ cc_test( cc_test( name = "test_pe", srcs = ["test-pe.c"], + linkopts = LOPTS, copts = COPTS, data = [ "data/079a472d22290a94ebb212aa8015cdc8dd28a968c6b4d3b88acdd58ce2d3b885", @@ -136,6 +147,7 @@ cc_test( cc_test( name = "test_elf", srcs = ["test-elf.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -148,6 +160,7 @@ cc_test( cc_test( name = "test_api", srcs = ["test-api.c"], + linkopts = LOPTS, copts = COPTS, data = [ "data/baz.yar", @@ -163,6 +176,7 @@ cc_test( cc_test( name = "test_bitmask", srcs = ["test-bitmask.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -174,6 +188,7 @@ cc_test( cc_test( name = "test_math", srcs = ["test-math.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -185,6 +200,7 @@ cc_test( cc_test( name = "test_stack", srcs = ["test-stack.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -197,6 +213,7 @@ cc_test( cc_test( name = "test_exception", srcs = ["test-exception.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -208,6 +225,7 @@ cc_test( cc_test( name = "test_macho", srcs = ["test-macho.c"], + linkopts = LOPTS, copts = COPTS, data = [ "data/tiny-macho", @@ -224,6 +242,7 @@ cc_test( cc_test( name = "test_dex", srcs = ["test-dex.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ @@ -236,6 +255,7 @@ cc_test( cc_test( name = "test_re_split", srcs = ["test-re-split.c"], + linkopts = LOPTS, copts = COPTS, linkstatic = True, deps = [ diff --git a/tests/test-pe.c b/tests/test-pe.c index a33652b7be..4d588eacf8 100644 --- a/tests/test-pe.c +++ b/tests/test-pe.c @@ -324,7 +324,7 @@ int main(int argc, char** argv) condition: \ pe.number_of_signatures == 1 and \ pe.signatures[0].thumbprint == \"c1bf1b8f751bf97626ed77f755f0a393106f2454\" and \ - pe.signatures[0].subject == \"/C=US/ST=California/L=Menlo Park/O=Quicken, Inc./OU=Operations/CN=Quicken, Inc.\" \ + pe.signatures[0].subject == \"C = US, ST = California, L = Menlo Park, O = \"Quicken, Inc.\", OU = Operations, CN = \"Quicken, Inc.\"\" \ }", "tests/data/" "079a472d22290a94ebb212aa8015cdc8dd28a968c6b4d3b88acdd58ce2d3b885"); diff --git a/windows/vs2015/libyara/libyara.vcxproj b/windows/vs2015/libyara/libyara.vcxproj index 48dd401543..5a63e07ccc 100644 --- a/windows/vs2015/libyara/libyara.vcxproj +++ b/windows/vs2015/libyara/libyara.vcxproj @@ -100,7 +100,7 @@ $(OutDir)$(TargetName)$(TargetExt) - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true MachineX86 ..\packages\YARA.OpenSSL.x86.1.1.1\lib;..\packages\YARA.Jansson.x86.1.1.0\lib;%(AdditionalLibraryDirectories) @@ -128,7 +128,7 @@ $(OutDir)$(TargetName)$(TargetExt) - crypt32.lib;ws2_32.lib;advapi32.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;crypt32.lib;ws2_32.lib;advapi32.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true ..\packages\YARA.OpenSSL.x64.1.1.1\lib;..\packages\YARA.Jansson.x64.1.1.0\lib;%(AdditionalLibraryDirectories) /IGNORE:4221 @@ -152,7 +152,7 @@ MultiThreadedDLL - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true MachineX86 ..\packages\YARA.OpenSSL.x86.1.1.1\lib;..\packages\YARA.Jansson.x86.1.1.0\lib;%(AdditionalLibraryDirectories) @@ -178,7 +178,7 @@ MultiThreadedDLL - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true false ..\packages\YARA.OpenSSL.x64.1.1.1\lib;..\packages\YARA.Jansson.x64.1.1.0\lib;%(AdditionalLibraryDirectories) @@ -205,7 +205,7 @@ MultiThreaded - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true false ..\packages\YARA.OpenSSL.x64.1.1.0\lib;..\packages\YARA.Jansson.x64.1.1.0\lib;%(AdditionalLibraryDirectories) diff --git a/windows/vs2017/libyara/libyara.vcxproj b/windows/vs2017/libyara/libyara.vcxproj index e68410c010..a4fbd65522 100644 --- a/windows/vs2017/libyara/libyara.vcxproj +++ b/windows/vs2017/libyara/libyara.vcxproj @@ -204,7 +204,7 @@ MultiThreaded - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true false ..\packages\YARA.OpenSSL.x64.1.1.1\lib;..\packages\YARA.Jansson.x64.1.1.0\lib;%(AdditionalLibraryDirectories) diff --git a/windows/vs2019/libyara/libyara.vcxproj b/windows/vs2019/libyara/libyara.vcxproj index 4d2a57ec09..b3c16817d4 100644 --- a/windows/vs2019/libyara/libyara.vcxproj +++ b/windows/vs2019/libyara/libyara.vcxproj @@ -204,7 +204,7 @@ MultiThreaded - jansson.lib;libcrypto.lib;%(AdditionalDependencies) + ntdll.lib;jansson.lib;libcrypto.lib;%(AdditionalDependencies) true false ..\packages\YARA.OpenSSL.x64.1.1.1\lib;..\packages\YARA.Jansson.x64.1.1.0\lib;%(AdditionalLibraryDirectories)