Skip to content

Commit c5d9a05

Browse files
authored
Resolve semgrep warnings about variable interpolation in run commands (#17)
Use environment variables instead of variable interpolation when running scripts. Use of variable interpolation is insecure and allows script injection. Signed-off-by: James Duong <[email protected]>
1 parent 576eb72 commit c5d9a05

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

.github/workflows/build-php-wrapper/action.yml

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,11 +32,13 @@ runs:
3232
- name: Install system dependencies (Ubuntu)
3333
if: ${{ inputs.os == 'ubuntu' }}
3434
shell: bash
35+
env:
36+
PHP_VER: ${{ inputs.php-version }}
3537
run: |
3638
sudo apt-get update
3739
sudo apt-get install -y \
38-
php${{ inputs.php-version }}-dev \
39-
php${{ inputs.php-version }}-cli \
40+
php$PHP_VER-dev \
41+
php$PHP_VER-cli \
4042
build-essential \
4143
autoconf \
4244
automake \
@@ -108,32 +110,37 @@ runs:
108110
109111
- name: Build FFI library
110112
shell: bash
113+
env:
114+
TARGET: ${{ inputs.target }}
115+
OS: ${{ inputs.os }}
111116
working-directory: valkey-glide/ffi
112117
run: |
113118
# Check if ASAN flags are present - if so, use regular cargo build to avoid Zig linker issues
114119
if [[ "$CFLAGS" == *"-fsanitize=address"* ]] || [[ "$CXXFLAGS" == *"-fsanitize=address"* ]]; then
115120
echo "ASAN flags detected, using regular cargo build to ensure proper ASAN runtime linking"
116-
cargo build --target ${{ inputs.target }} --release
117-
elif [[ "${{ inputs.os }}" == "ubuntu" ]]; then
118-
cargo zigbuild --target ${{ inputs.target }} --release
121+
cargo build --target $TARGET --release
122+
elif [[ "$OS" == "ubuntu" ]]; then
123+
cargo zigbuild --target $TARGET --release
119124
else
120-
cargo build --target ${{ inputs.target }} --release
125+
cargo build --target $TARGET --release
121126
fi
122127
123128
- name: Debug FFI library location
124129
shell: bash
130+
env:
131+
TARGET: ${{ inputs.target }}
125132
working-directory: valkey-glide/ffi
126133
run: |
127134
echo "=== FFI Target Directory Structure ==="
128135
find target -name "libglide_ffi.a" -type f 2>/dev/null || echo "No libglide_ffi.a found"
129136
echo "=== Target directory contents ==="
130137
ls -la target/ || true
131-
if [ -d "target/${{ inputs.target }}" ]; then
138+
if [ -d "target/$TARGET" ]; then
132139
echo "=== Target-specific directory ==="
133-
ls -la "target/${{ inputs.target }}/" || true
134-
if [ -d "target/${{ inputs.target }}/release" ]; then
140+
ls -la "target/$TARGET/" || true
141+
if [ -d "target/$TARGET/release" ]; then
135142
echo "=== Target release directory ==="
136-
ls -la "target/${{ inputs.target }}/release/" || true
143+
ls -la "target/$TARGET/release/" || true
137144
fi
138145
fi
139146

0 commit comments

Comments
 (0)