github-advanced-security[bot] commented on code in PR #1258:
URL: https://github.com/apache/syncope/pull/1258#discussion_r2645065767


##########
core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyTypeClassDataBinderImpl.java:
##########
@@ -58,50 +63,54 @@
 
     @Override
     public AnyTypeClass create(final AnyTypeClassTO anyTypeClassTO) {
-        AnyTypeClass anyTypeClass = 
entityFactory.newEntity(AnyTypeClass.class);
-        update(anyTypeClass, anyTypeClassTO);
-        return anyTypeClass;
+        return update(entityFactory.newEntity(AnyTypeClass.class), 
anyTypeClassTO);
     }
 
     @Override
-    public void update(final AnyTypeClass anyTypeClass, final AnyTypeClassTO 
anyTypeClassTO) {
+    public AnyTypeClass update(final AnyTypeClass anyTypeClass, final 
AnyTypeClassTO anyTypeClassTO) {
+        AnyTypeClass atc;
         if (anyTypeClass.getKey() == null) {
             anyTypeClass.setKey(anyTypeClassTO.getKey());
+            atc = anyTypeClassDAO.save(anyTypeClass);
+        } else {
+            atc = anyTypeClass;
         }
 
-        
plainSchemaDAO.findByAnyTypeClasses(List.of(anyTypeClass)).forEach(schema -> {
+        plainSchemaDAO.findByAnyTypeClasses(List.of(atc)).forEach(schema -> {
             schema.setAnyTypeClass(null);
             plainSchemaDAO.save(schema);
         });
 
-        anyTypeClass.getPlainSchemas().clear();
+        atc.getPlainSchemas().clear();
         anyTypeClassTO.getPlainSchemas().forEach(key -> {
             PlainSchema schema = plainSchemaDAO.findById(key).orElse(null);
             if (schema == null || schema.getAnyTypeClass() != null) {
                 LOG.debug("Invalid or already in use: {} {}, ignoring...", 
PlainSchema.class.getSimpleName(), key);
             } else {
-                anyTypeClass.add(schema);
-                schema.setAnyTypeClass(anyTypeClass);
+                atc.add(schema);

Review Comment:
   ## Log Injection
   
   This log entry depends on a [user-provided value](1).
   This log entry depends on a [user-provided value](2).
   
   [Show more 
details](https://github.com/apache/syncope/security/code-scanning/2403)



##########
core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/data/AnyTypeClassDataBinderImpl.java:
##########
@@ -58,50 +63,54 @@
 
     @Override
     public AnyTypeClass create(final AnyTypeClassTO anyTypeClassTO) {
-        AnyTypeClass anyTypeClass = 
entityFactory.newEntity(AnyTypeClass.class);
-        update(anyTypeClass, anyTypeClassTO);
-        return anyTypeClass;
+        return update(entityFactory.newEntity(AnyTypeClass.class), 
anyTypeClassTO);
     }
 
     @Override
-    public void update(final AnyTypeClass anyTypeClass, final AnyTypeClassTO 
anyTypeClassTO) {
+    public AnyTypeClass update(final AnyTypeClass anyTypeClass, final 
AnyTypeClassTO anyTypeClassTO) {
+        AnyTypeClass atc;
         if (anyTypeClass.getKey() == null) {
             anyTypeClass.setKey(anyTypeClassTO.getKey());
+            atc = anyTypeClassDAO.save(anyTypeClass);
+        } else {
+            atc = anyTypeClass;
         }
 
-        
plainSchemaDAO.findByAnyTypeClasses(List.of(anyTypeClass)).forEach(schema -> {
+        plainSchemaDAO.findByAnyTypeClasses(List.of(atc)).forEach(schema -> {
             schema.setAnyTypeClass(null);
             plainSchemaDAO.save(schema);
         });
 
-        anyTypeClass.getPlainSchemas().clear();
+        atc.getPlainSchemas().clear();
         anyTypeClassTO.getPlainSchemas().forEach(key -> {
             PlainSchema schema = plainSchemaDAO.findById(key).orElse(null);
             if (schema == null || schema.getAnyTypeClass() != null) {
                 LOG.debug("Invalid or already in use: {} {}, ignoring...", 
PlainSchema.class.getSimpleName(), key);
             } else {
-                anyTypeClass.add(schema);
-                schema.setAnyTypeClass(anyTypeClass);
+                atc.add(schema);
+                schema.setAnyTypeClass(atc);
                 plainSchemaDAO.save(schema);
             }
         });
 
-        
derSchemaDAO.findByAnyTypeClasses(List.of(anyTypeClass)).forEach(schema -> {
+        derSchemaDAO.findByAnyTypeClasses(List.of(atc)).forEach(schema -> {
             schema.setAnyTypeClass(null);
             derSchemaDAO.save(schema);
         });
 
-        anyTypeClass.getDerSchemas().clear();
+        atc.getDerSchemas().clear();
         anyTypeClassTO.getDerSchemas().forEach(key -> {
             DerSchema schema = derSchemaDAO.findById(key).orElse(null);
             if (schema == null || schema.getAnyTypeClass() != null) {
                 LOG.debug("Invalid or already in use: {} {}, ignoring...", 
DerSchema.class.getSimpleName(), key);
             } else {
-                anyTypeClass.add(schema);
-                schema.setAnyTypeClass(anyTypeClass);
+                atc.add(schema);

Review Comment:
   ## Log Injection
   
   This log entry depends on a [user-provided value](1).
   This log entry depends on a [user-provided value](2).
   
   [Show more 
details](https://github.com/apache/syncope/security/code-scanning/2404)



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to