Skip to content

Validation crash in setIdTag in StopTransaction #231

@emilm

Description

@emilm

idtag in stoptransaction is optional , so ModelUtil.validate() will check string != null . If it is null, it will return false.
When ModelUtil.validate() returns false, then idTag.length() crashes. How many more cases of this could there be?

  /**
   * Optional. This contains the identifier which requested to stop the charging. It is optional
   * because a Charge Point may terminate charging without the presence of an idTag, e.g. in case of
   * a reset. A Charge Point SHALL send the idTag if known.
   *
   * @param idTag a String with max length 20
   */
  @XmlElement
  public void setIdTag(String idTag) {
    if (!ModelUtil.validate(idTag, 20)) {
      throw new PropertyConstraintException(idTag.length(), "Exceeded limit of 20 chars");
    }

    this.idTag = idTag;
  }

My proposal is to add if idTag != null && in the check:

  if (idTag != null && !ModelUtil.validate(idTag, 20)) { ... 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions