[libaiff] fix uninitialized buffer

This commit is contained in:
atkawa7 2017-11-03 12:58:17 -07:00 committed by Alexander Karatarakis
parent 669e7a981e
commit 7906774829
2 changed files with 83 additions and 40 deletions

View File

@ -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;
/*

View File

@ -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)