From 2397bbb24eaca5040645f678a6a1f8b702d45afa Mon Sep 17 00:00:00 2001 From: mgarciaLKS Date: Wed, 2 Apr 2025 15:04:38 +0200 Subject: [PATCH] new class --- .../petclinic/owner/SonarIssuesExample.java | 39 +++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 src/main/java/org/springframework/samples/petclinic/owner/SonarIssuesExample.java diff --git a/src/main/java/org/springframework/samples/petclinic/owner/SonarIssuesExample.java b/src/main/java/org/springframework/samples/petclinic/owner/SonarIssuesExample.java new file mode 100644 index 000000000..5dcdddda6 --- /dev/null +++ b/src/main/java/org/springframework/samples/petclinic/owner/SonarIssuesExample.java @@ -0,0 +1,39 @@ +package org.springframework.samples.petclinic.owner; + +import java.util.logging.Level; +import java.util.logging.Logger; + +public class SonarIssuesExample { + + private static final Logger LOGGER = Logger.getLogger(SonarIssuesExample.class.getName()); + + private String unusedField; // Code Smell: Campo no utilizado + + public static void main(String[] args) { + SonarIssuesExample example = new SonarIssuesExample(); + example.divisionPorCero(5); + example.inyeccionSQL("admin", "password"); + example.stringInmutable(); + } + + public void divisionPorCero(int numero) { + int resultado = numero / 0; // Bug: División por cero + System.out.println("Resultado: " + resultado); + } + + public void inyeccionSQL(String usuario, String contrasena) { + // Vulnerabilidad: Construcción de consulta SQL insegura + String consulta = "SELECT * FROM usuarios WHERE user = '" + usuario + "' AND password = '" + contrasena + "'"; + System.out.println("Ejecutando consulta: " + consulta); + } + + public void stringInmutable() { + // Code Smell: Modificación innecesaria de String en bucle + String texto = ""; + for (int i = 0; i < 10; i++) { + texto += i; // Ineficiente, crea múltiples instancias de String + } + System.out.println(texto); + } + +}