This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/main by this push:
     new d203a3430828 chore: fix SonarCloud security hotspots in sonar-scan and 
huggingface (#22480)
d203a3430828 is described below

commit d203a343082809d13ac495e69137951b94d61a8d
Author: Guillaume Nodet <[email protected]>
AuthorDate: Wed Apr 8 09:18:46 2026 +0200

    chore: fix SonarCloud security hotspots in sonar-scan and huggingface 
(#22480)
    
    Co-authored-by: Claude Opus 4.6 <[email protected]>
---
 .github/workflows/sonar-scan.yml                            |  9 ++++++---
 .../component/huggingface/tasks/AbstractTaskPredictor.java  | 13 ++++++++++++-
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/.github/workflows/sonar-scan.yml b/.github/workflows/sonar-scan.yml
index fc02a1127fc8..742190bad9a2 100644
--- a/.github/workflows/sonar-scan.yml
+++ b/.github/workflows/sonar-scan.yml
@@ -129,8 +129,11 @@ jobs:
           path: ~/.sonar/cache
           key: ${{ runner.os }}-sonar
 
-      - id: install-packages
-        uses: ./.github/actions/install-packages
+      - name: Install packages
+        shell: bash
+        run: |
+          sudo apt-get update
+          sudo apt-get install -qqy --no-install-recommends libtinfo6
 
       - name: Run Sonar Analysis
         shell: bash
@@ -145,10 +148,10 @@ jobs:
           -Dsonar.pullrequest.github.summary_comment=true
           -Dsonar.projectKey=apache_camel
           -Dsonar.organization=apache
-          -Dsonar.token=${{ secrets.SONARCLOUD_TOKEN }}
           -B -V
         env:
           MAVEN_OPTS: "-XX:+UseG1GC -XX:InitialHeapSize=2g -XX:MaxHeapSize=6g 
-XX:+UseStringDeduplication"
+          SONAR_TOKEN: ${{ secrets.SONARCLOUD_TOKEN }}
 
       - name: Update PR check status
         uses: actions/github-script@v7
diff --git 
a/components/camel-ai/camel-huggingface/src/main/java/org/apache/camel/component/huggingface/tasks/AbstractTaskPredictor.java
 
b/components/camel-ai/camel-huggingface/src/main/java/org/apache/camel/component/huggingface/tasks/AbstractTaskPredictor.java
index bc08beff3265..7a5bafed3d47 100644
--- 
a/components/camel-ai/camel-huggingface/src/main/java/org/apache/camel/component/huggingface/tasks/AbstractTaskPredictor.java
+++ 
b/components/camel-ai/camel-huggingface/src/main/java/org/apache/camel/component/huggingface/tasks/AbstractTaskPredictor.java
@@ -18,11 +18,15 @@ package org.apache.camel.component.huggingface.tasks;
 
 import java.io.IOException;
 import java.io.InputStream;
+import java.nio.file.FileSystems;
 import java.nio.file.FileVisitResult;
 import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.SimpleFileVisitor;
 import java.nio.file.attribute.BasicFileAttributes;
+import java.nio.file.attribute.PosixFilePermission;
+import java.nio.file.attribute.PosixFilePermissions;
+import java.util.EnumSet;
 
 import ai.djl.inference.Predictor;
 import ai.djl.modality.Input;
@@ -57,7 +61,14 @@ public abstract class AbstractTaskPredictor implements 
TaskPredictor {
 
     @Override
     public void loadModel() throws Exception {
-        tmpDir = Files.createTempDirectory("hf_model");
+        if 
(FileSystems.getDefault().supportedFileAttributeViews().contains("posix")) {
+            tmpDir = Files.createTempDirectory("hf_model",
+                    PosixFilePermissions.asFileAttribute(
+                            EnumSet.of(PosixFilePermission.OWNER_READ, 
PosixFilePermission.OWNER_WRITE,
+                                    PosixFilePermission.OWNER_EXECUTE)));
+        } else {
+            tmpDir = Files.createTempDirectory("hf_model");
+        }
         Path handlerPath = tmpDir.resolve("handler.py");
         String pythonScript = getPythonScript();
         Files.writeString(handlerPath, pythonScript);

Reply via email to