From 89a3c6e7a8780d1056556a725183d29da89baf78 Mon Sep 17 00:00:00 2001 From: gwen-soleil <gwenaelle.abeille@gmail.com> Date: Mon, 25 Apr 2022 10:15:46 +0200 Subject: [PATCH] add an check on constructor input size. --- .../fr/soleil/archiving/snap/api/tools/SnapContext.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/fr/soleil/archiving/snap/api/tools/SnapContext.java b/src/main/java/fr/soleil/archiving/snap/api/tools/SnapContext.java index 2f4c88c..71ae6fc 100644 --- a/src/main/java/fr/soleil/archiving/snap/api/tools/SnapContext.java +++ b/src/main/java/fr/soleil/archiving/snap/api/tools/SnapContext.java @@ -33,6 +33,7 @@ package fr.soleil.archiving.snap.api.tools; import java.util.ArrayList; +import java.util.Arrays; import java.util.Date; import java.util.List; @@ -171,13 +172,17 @@ public class SnapContext { * identifier, creation date, reason, description and, the * <I>list of attributes</I> that are included in the context. */ - public SnapContext(final String[] argin) { + public SnapContext(final String[] argin) throws SnapshotingException { + if(argin.length < 6){ + throw new SnapshotingException("argin size must be at least 6: "+ Arrays.toString(argin)); + } setAuthor_name(argin[0]); setName(argin[1]); setId(Integer.parseInt(argin[2])); setCreation_date(java.sql.Date.valueOf(argin[3])); setReason(argin[4]); setDescription(argin[5]); + // Attribute list construction for (int i = 6; i < argin.length; i++) { attributeList.add(new AttributeLight(argin[i])); -- GitLab