diff --git a/.github/codeql/codeql-ruby.yml b/.github/codeql/codeql-ruby.yml new file mode 100644 index 00000000000..3177440bef4 --- /dev/null +++ b/.github/codeql/codeql-ruby.yml @@ -0,0 +1,6 @@ +name: "BananaGram Ruby sources" + +# The C/C++ configuration excludes unshipped codec tools, including the directory +# containing loudnorm.rb. Ruby needs its own scope so committed Ruby code remains scanned. +queries: + - uses: security-extended diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 8a00d0e677a..830fa667ca0 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -51,6 +51,8 @@ jobs: build-mode: none - language: python build-mode: none + - language: ruby + build-mode: none - language: swift build-mode: autobuild # CodeQL supports the following values keywords for 'language': 'actions', 'c-cpp', 'csharp', 'go', 'java-kotlin', 'javascript-typescript', 'python', 'ruby', 'rust', 'swift' @@ -77,7 +79,7 @@ jobs: with: languages: ${{ matrix.language }} build-mode: ${{ matrix.build-mode }} - config-file: ./.github/codeql/codeql-config.yml + config-file: ${{ matrix.language == 'ruby' && './.github/codeql/codeql-ruby.yml' || './.github/codeql/codeql-config.yml' }} # If you wish to specify custom queries, you can do so here or in a config file. # By default, queries listed here will override any specified in a config file. # Prefix the list here with "+" to use these queries and those in the config file. diff --git a/third-party/subcodec/src/sprite_encode.cpp b/third-party/subcodec/src/sprite_encode.cpp index 6db76e5b10f..9f2ec46dce6 100644 --- a/third-party/subcodec/src/sprite_encode.cpp +++ b/third-party/subcodec/src/sprite_encode.cpp @@ -5,6 +5,7 @@ #include "codec_app_def.h" #include "codec_def.h" +#include #include #include #include @@ -257,8 +258,9 @@ std::expected SpriteEncoder::encode( int cwm = impl_->canvas_width_mbs; // Split into color (left half) and alpha (right half) - std::vector color((size_t)hwm * hhm); - std::vector alpha_mbs((size_t)hwm * hhm); + const std::size_t macroblock_count = static_cast(hwm) * static_cast(hhm); + std::vector color(macroblock_count); + std::vector alpha_mbs(macroblock_count); for (int mb_y = 0; mb_y < hhm; mb_y++) { for (int mb_x = 0; mb_x < hwm; mb_x++) {