------- You are receiving this mail because: ------- You are on the CC list for the bug.
http://bugs.exim.org/show_bug.cgi?id=890 Summary: src/dkim-exim.c doesn't check open() return value Product: Exim Version: N/A Platform: Other OS/Version: Linux Status: NEW Severity: bug Priority: medium Component: Transports AssignedTo: [email protected] ReportedBy: [email protected] CC: [email protected] privkey_fd = open(CS dkim_private_key,O_RDONLY); (void)read(privkey_fd,big_buffer,16383); (void)close(privkey_fd); This should be checking the return values of open() and read(). If the file is larger than the buffer then an error should be returned. [pid 38070] open("/home/simon/src/exim-git/test/dkim/private.key", O_RDONLY) = -1 ENOENT (No such file or directory) [pid 38070] read(4294967295, 0x7bb020, 16383) = -1 EBADF (Bad file descriptor) [pid 38070] close(4294967295) = -1 EBADF (Bad file descriptor) Also, with no private key, it just closes the sending SMTP socket: (exim) [pid 38070] write(2, "19:48:22 38070 ok=0 send_quit=0 send_rset=1 continue_more=0 yield=1 first_address is NULL"..., 90 [pid 38070] close(6) = 0 (nc) write(4, "354\n"..., 4) = 4 select(16, [0 4], NULL, NULL, NULL) = 1 (in [4]) read(4, ""..., 8192) = 0 -- Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email -- ## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
