0.9.6 crash if > 15 loads defined

2006-05-24
2012-12-12
  • Greetings,
    I found an issue with linsmith crashing when more than 15 loads are defined. This is in log.c in routine loglist_show(). The local variable row has a hardcoded size of 300. This variable is used to hold a large string. I believe a better way is:
    // top of routine...
    char *row;
    row = malloc( sizeof(bff) * loglist.nr_lds ); 
    // bottom of routine before returning....
    if (row )
        free( row );
    This fixes the segfaults I was seeing. This becomes a significant issue if using the auto data collection feature (as there is a good chance more than 15 data points are collected).
    cheers
    Lawrence Glaister VE7IT

     
    • John Coppens
      John Coppens
      2006-05-24

      Great, Lawrence!

      I'll apply that immediately. I'm unsure if there aren't more of those hidden limits. Linsmith was originally written when memory was very limited.

      BTW, I'm rewriting most of the remote routines, and I'll put everything up in the next version.

      Thanks,
      John