senna icon indicating copy to clipboard operation
senna copied to clipboard

Fixed bug regarding New lines in input files

Open JMMackenzie opened this issue 11 years ago • 0 comments

The bug at hand involved a file which had 2 or more new lines before any other textual data. The reason for the bug was that the tokenizer was not reading anything (ie a new line), so the value of nitems being passed to realloc was 0.

The C standard states:

C90 (C++98) Otherwise, if size is zero, the memory previously allocated at ptr is deallocated as if a call to free was made, and a null pointer is returned.

C99/C11 (C++11) If size is zero, the return value depends on the particular library implementation: it may either be a null pointer or some other location that shall not be dereferenced.

Thus, the if(!ptr) block would always be entered resulting in a SENNA_error: "memory allocation error .."

JMMackenzie avatar Jan 09 '14 11:01 JMMackenzie