decoder should fail on missing descriptors

Bug #389027 reported by cpb
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libECBUFR
Fix Committed
High
vanh souvanlasy

Bug Description

Tests/BUFR/is_winide_BLDU.bufr, among other things, uses local descriptor 0-01-204 which has no entry in the current default tables. So the test fails, generating a gibberish decode. The decoder should fail as soon as it encounters a descriptor for which it doesn't know the data bit width.

cpb (chris-beauregard)
Changed in libecbufr:
assignee: nobody → libecbufr-dev (libecbufr-dev)
importance: Undecided → Medium
Changed in libecbufr:
assignee: libecbufr-dev (libecbufr-dev) → vanh souvanlasy (vanh-souvanlasy)
milestone: none → 0.8.2
status: New → In Progress
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

most of the BUFR test files in Tests/BUFR uses the local descriptor 0-01-204,
so more than half of the tests will fail the same way (unknown descriptor).
To continue using these test files, The tests will need to be changed by using local table B to run the tests.

Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

A local table B has been added to tests suite. It contains all the local descriptors used by the BUFR files included in the tests.
This local table B is now used by in tests scripts to allow currently defined tests to completed as before.
Also added is a test which outline the decoder new behavior of aborting the test when unknown descriptor(s)
are found.

Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

decoder now abort if an unknown descriptor is found

Changed in libecbufr:
status: In Progress → Fix Committed
Revision history for this message
Yves Pelletier (yves-pelletier) wrote :

This behaviour needs to be modulated by the presence of an operator 206YYY immediately preceding the unknown descriptor. In this case, there should simply be a warning that an unknown descriptor of width YYY has been skipped and that decoding is continuing.

Changed in libecbufr:
importance: Medium → High
status: Fix Committed → Incomplete
Revision history for this message
cpb (chris-beauregard) wrote :

I knew there was a reason why I chose the specific wording of "for which it doesn't know the data bit width" when I created the bug report...

Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

now check for preceding descriptor for signify data width operator before rejecting an unkown descriptor.

Changed in libecbufr:
status: Incomplete → Fix Committed
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

By allowing unknown descriptors following 206YYY operator, validation need to be done on that descriptor to make sure it follows the BUFR descriptors definition FXXYYY of acceptable values.

Changed in libecbufr:
milestone: 0.8.2 → 0.8.3b1
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

this was fixed in 0.8.2 before release date 12/02/2009

Changed in libecbufr:
milestone: 0.8.3b1 → 0.8.2
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.