From 79067748292b613b2d3bcabf8d5cdd71a8100cef Mon Sep 17 00:00:00 2001 From: atkawa7 Date: Fri, 3 Nov 2017 12:58:17 -0700 Subject: [libaiff] fix uninitialized buffer --- ports/libaiff/buffer_uninitialized.patch | 42 +++++++++++++++++ ports/libaiff/portfile.cmake | 81 ++++++++++++++++---------------- 2 files changed, 83 insertions(+), 40 deletions(-) create mode 100644 ports/libaiff/buffer_uninitialized.patch diff --git a/ports/libaiff/buffer_uninitialized.patch b/ports/libaiff/buffer_uninitialized.patch new file mode 100644 index 000000000..855d11a36 --- /dev/null +++ b/ports/libaiff/buffer_uninitialized.patch @@ -0,0 +1,42 @@ +diff --git "a/libaiff.c" "b/libaiff.c" +index e266802..21179f9 100644 +--- "a/libaiff.c" ++++ "b/libaiff.c" +@@ -168,6 +168,9 @@ AIFF_ReadOpenW(const wchar_t *file, int flags) + r->buffer = NULL; + r->buflen = 0; + ++ r->buffer2 = NULL; ++ r->buflen2 = 0; ++ + return r; + } + +@@ -237,6 +240,9 @@ AIFF_ReadOpen(const char *file, int flags) + r->buffer = NULL; + r->buflen = 0; + ++ r->buffer2 = NULL; ++ r->buflen2 = 0; ++ + return r; + } + +@@ -577,6 +583,8 @@ err2: + w->segmentSize = 0; + w->buffer = NULL; + w->buflen = 0; ++ w->buffer2 = NULL; ++ w->buflen2 = 0; + w->tics = 0; + + /* +@@ -659,6 +667,8 @@ err2: + w->segmentSize = 0; + w->buffer = NULL; + w->buflen = 0; ++ w->buffer2 = NULL; ++ w->buflen2 = 0; + w->tics = 0; + + /* diff --git a/ports/libaiff/portfile.cmake b/ports/libaiff/portfile.cmake index 146d24c7f..17277159e 100644 --- a/ports/libaiff/portfile.cmake +++ b/ports/libaiff/portfile.cmake @@ -1,40 +1,41 @@ -include(vcpkg_common_functions) -set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libaiff-5.0) -vcpkg_download_distfile(ARCHIVE - URLS "https://sourceforge.net/projects/aifftools/files/libaiff/LibAiff%205.0/libaiff-5.0-release.tar.gz" - FILENAME "libaiff-5.0-release.tar.gz" - SHA512 7800f9a3fbd0c5a17b8cc6c9b60181131d159ab5f5fb8e7de54e8f88c151717a988231de664a635e61940267c854a9ce83d58b12e322dcdda3aa8080c7b15f66 -) -vcpkg_extract_source_archive(${ARCHIVE}) - - -vcpkg_apply_patches( - SOURCE_PATH ${SOURCE_PATH} - PATCHES - "${CMAKE_CURRENT_LIST_DIR}/allow_utf_16_filename.patch" -) - -file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) -file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/libaiff) - - -vcpkg_configure_cmake( - SOURCE_PATH ${SOURCE_PATH} - PREFER_NINJA - OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON -) - -vcpkg_install_cmake() - -file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/libaiff/*.h") -foreach(HEADER ${HEADERS}) - file(READ "${HEADER}" _contents) - string(REPLACE "#ifdef HAVE_STDINT_H" "#if 1" _contents "${_contents}") - string(REPLACE "#ifdef HAVE_STRING_H" "#if 1" _contents "${_contents}") - string(REPLACE "#ifdef HAVE_STDLIB_H" "#if 1" _contents "${_contents}") - string(REPLACE "#ifdef HAVE_INTTYPES_H" "#if 1" _contents "${_contents}") - file(WRITE "${HEADER}" "${_contents}") -endforeach() - -# Handle copyright -file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libaiff RENAME copyright) +include(vcpkg_common_functions) +set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/libaiff-5.0) +vcpkg_download_distfile(ARCHIVE + URLS "https://sourceforge.net/projects/aifftools/files/libaiff/LibAiff%205.0/libaiff-5.0-release.tar.gz" + FILENAME "libaiff-5.0-release.tar.gz" + SHA512 7800f9a3fbd0c5a17b8cc6c9b60181131d159ab5f5fb8e7de54e8f88c151717a988231de664a635e61940267c854a9ce83d58b12e322dcdda3aa8080c7b15f66 +) +vcpkg_extract_source_archive(${ARCHIVE}) + + +vcpkg_apply_patches( + SOURCE_PATH ${SOURCE_PATH} + PATCHES + "${CMAKE_CURRENT_LIST_DIR}/allow_utf_16_filename.patch" + "${CMAKE_CURRENT_LIST_DIR}/buffer_uninitialized.patch" +) + +file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH}) +file(COPY ${CMAKE_CURRENT_LIST_DIR}/config.h DESTINATION ${SOURCE_PATH}/libaiff) + + +vcpkg_configure_cmake( + SOURCE_PATH ${SOURCE_PATH} + PREFER_NINJA + OPTIONS_DEBUG -DDISABLE_INSTALL_HEADERS=ON +) + +vcpkg_install_cmake() + +file(GLOB HEADERS "${CURRENT_PACKAGES_DIR}/include/libaiff/*.h") +foreach(HEADER ${HEADERS}) + file(READ "${HEADER}" _contents) + string(REPLACE "#ifdef HAVE_STDINT_H" "#if 1" _contents "${_contents}") + string(REPLACE "#ifdef HAVE_STRING_H" "#if 1" _contents "${_contents}") + string(REPLACE "#ifdef HAVE_STDLIB_H" "#if 1" _contents "${_contents}") + string(REPLACE "#ifdef HAVE_INTTYPES_H" "#if 1" _contents "${_contents}") + file(WRITE "${HEADER}" "${_contents}") +endforeach() + +# Handle copyright +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/libaiff RENAME copyright) -- cgit v1.2.3