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
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
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
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