Hi Don,

This is obviously a bug and will be fixed with the next SNMP4J-Agent release.

Best regards,
Frank


> On 9. Aug 2017, at 16:54, Broderick, Don <d...@mitre.org> wrote:
> 
> SNMP4J version 2.5.6
> SNMP4J-Agent version 2.6.0
> 
> I have discovered the following behavior inconsistency where I would expect 
> no error to be returned in both cases.
> 
> When a PDU is sent containing one SET of a row status to 6 for destroy for a 
> row that exists the row is destroyed and no error is returned.  Performing 
> the same operation in a separate PDU for a row that does not exist again 
> returns no error.  When a PDU containing 2 SETs, one for a row that exists 
> and one for a row that does not exist (both in the same table) a commit 
> failed error is returned and the row that existed is destroyed.
> 
> In the line highlighted below of DefaultMOTable the variable "row" has a null 
> value when this event occurs and causes a null pointer exception.
> 
>  public void commit(SubRequest request) {
>    OID cellOID = request.getVariableBinding().getOid();
>    MOTableCellInfo cell = getCellInfo(cellOID);
>    MOMutableColumn col = (MOMutableColumn) getColumn(cell.getColumn());
>    if (logger.isDebugEnabled()) {
>      logger.debug("Committing sub-request ("+
>                   request.getVariableBinding()+") for column: "+col);
>    }
>    // Make sure changes are atomic -> sync whole table model
>    synchronized (model) {
>      R row;
>      if (hasNewRows(request.getRequest())) {
>        row = getNewRows(request.getRequest()).get(cell.getIndex());
>        // check if row has been added already
>        if (!model.containsRow(row.getIndex())) {
>          if (!addRow(row)) {
>            request.setErrorStatus(PDU.resourceUnavailable);
>            return;
>          }
>        }
>      }
>      else {
>        row = model.getRow(cell.getIndex());
>      }
> 
> -DonB
> _______________________________________________
> SNMP4J mailing list
> SNMP4J@agentpp.org
> https://oosnmp.net/mailman/listinfo/snmp4j

_______________________________________________
SNMP4J mailing list
SNMP4J@agentpp.org
https://oosnmp.net/mailman/listinfo/snmp4j

Reply via email to