#95 pdl_trans struct type cast

critical
closed-later
nobody
core (120)
5
2004-12-04
2004-10-21
Anonymous
No

I have found the following potential bugs in PDL-2.4.1
( i got a bunch of uninitialized memory read errors)

File: Ops/Ops.xs line:49

//
void pdl_plus_redodims(pdl_trans *__tr ) {
int __dim;
pdl_plus_struct *__privtrans = (pdl_plus_struct *) __tr;

File: Slices/Slices.xs line:23361

//
void pdl_threadI_redodims(pdl_trans *__tr ) {
int __dim;
pdl_threadI_struct *__privtrans = (pdl_threadI_struct
*) __tr;

Discussion

  • Craig DeForest

    Craig DeForest - 2004-12-04
    • status: open --> closed
     
  • Craig DeForest

    Craig DeForest - 2004-12-04
    • status: closed --> closed-later
     
  • Craig DeForest

    Craig DeForest - 2004-12-04

    Logged In: YES
    user_id=20200

    This is a result of some flaws in the deep sequencing of PP
    constructs. The current workaround involves fencing all
    PDLs: there is a magic string at the beginning of each PDL
    struct, indicating that it has been initialized. The
    correct fix involves diving deeply into the PP engine and
    backing out where the flow is broken. Nobody has so far
    been willing to do that, though perhaps for 2.5.0 someone
    will be willing. Perhaps that someone is you!

    I have added this to the 2.4.2 to-do file, so that it is not
    lost to posterity.

     

Log in to post a comment.