The test_voicemail_notify_endl test checks the end-of-line
characters of an email message to confirm that they are consistent.
The test wrongfully assumed that reading from the email message
into a buffer will always result in more than 1 character being
read. This is incorrect. If only 1 character was read the test
would go outside of the buffer and access other memory causing
a crash.
The test now checks to ensure that 2 or more characters are read
in ensuring the test stays within the buffer.
ASTERISK-25874 #close
Change-Id: Ic2c89cea6e90f2c0bc2d8138306ebbffd4f8b710
rewind(file);
while (fgets(buf, sizeof(buf), file)) {
if (
+ (strlen(buf) > 1 &&
#ifdef IMAP_STORAGE
buf[strlen(buf) - 2] != '\r'
#else
buf[strlen(buf) - 2] == '\r'
#endif
+ )
|| buf[strlen(buf) - 1] != '\n') {
res = AST_TEST_FAIL;
}