# Copyright (C) 2021 The Android Open Source Project
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#      http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_MODULE := CVE-2019-2040
LOCAL_SRC_FILES := poc.cpp
LOCAL_SRC_FILES += ../includes/memutils.c
LOCAL_MULTILIB := 64
LOCAL_MODULE_STEM_64 := $(LOCAL_MODULE)64
LOCAL_C_INCLUDES_64 := system/nfc/src/nfc/include/
LOCAL_C_INCLUDES_64 += system/nfc/src/include/
LOCAL_C_INCLUDES_64 += system/nfc/src/gki/common/
LOCAL_C_INCLUDES_64 += system/nfc/src/gki/ulinux/
LOCAL_SHARED_LIBRARIES_64 := libnfc-nci

# Tag this module as a cts test artifact
LOCAL_COMPATIBILITY_SUITE := cts sts vts
LOCAL_CTS_TEST_PACKAGE := android.security.cts

LOCAL_ARM_MODE := arm
LOCAL_CFLAGS := -Wall -Werror -DCHECK_OVERFLOW
include $(BUILD_CTS_EXECUTABLE)
