Table C operator 202YYY not working properly

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

Bug Description

When decoding or encoding a BUFR message which use Table C operator 202YYY, The decoder may crash or the result
are not correct.

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

A BUFR message with 202126 will crash the decoder

Changed in libecbufr:
assignee: nobody → vanh souvanlasy (vanh-souvanlasy)
importance: Undecided → High
milestone: none → 0.8.1
status: New → Confirmed
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

Problem is that the field 'multiply_scale' of datastructure 'BufrDDOp' is not defined with the right type and size, it is
currently (unsigned char). It has to support value less than 0, so a (short) is needed.
Same thing for the field 'change_ref_value'.

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

Will change the header file bufr_ddo.h

Changed in libecbufr:
milestone: 0.8.1 → 0.8.2
status: Confirmed → In Progress
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

changed from unsigned char to short

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

On a similar note, type short for 'change_ref_value' is not appropriate either. It has to be type int instead.
It is now changed to (int) with rev. 83

Changed in libecbufr:
milestone: 0.8.3b1 → 0.8.2b2
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.