decoder crash if delayed replication descriptors has a mistake

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

Bug Description

When a delayed replication descriptor is not followed by a 31 class descriptor. The decoder will crash instead of failing
nicely and report the error.

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

These BUFR message has a mistake with delayed replication descriptors sequence.
Decoding them will crash.

Changed in libecbufr:
status: New → In Progress
importance: Undecided → Medium
assignee: nobody → vanh souvanlasy (vanh-souvanlasy)
Revision history for this message
vanh souvanlasy (vanh-souvanlasy) wrote :

Fix committed in rev. 155
Now decoder no longer crash and if leave a decoding error status in decoded message flags.

Changed in libecbufr:
status: In Progress → Fix Committed
milestone: none → 0.8.2b7
Revision history for this message
cpb (chris-beauregard) wrote :

r155 introduces an API signature change (bufr_expand_descriptor and bufr_expand_node_descriptor get a new flag, among others). This breaks both API and binary compatibility. I don't suppose there's a solution to this problem which wouldn't require that everyone update and recompile their code?

Revision history for this message
cpb (chris-beauregard) wrote :

Oh, and also, bufr_expand_desc() will core dump if errflg==NULL. Should probably allow for that to make it simpler for users to update their code by just adding a NULL argument to existing bufr_expand_descriptor() calls.

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

Revision 158 in trunk should take care of errflg=NULL

Revision history for this message
cpb (chris-beauregard) wrote :

Thanks... actually, it would core if errflg was NULL and an error was actually encountered, which in some ways was nastier...

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.