If no waypoints were set, and home was set, draw_map() would draw a line between home and a garbage point. Generally the point was near 0,0 (the upper left of the screen) but it depended on what was in memory, off the end of the wps_screen_point[] array. The line was bizarre and annoying, but far worse was the fact that eventually the garbage point would have a value that could crash the line drawing routine mid-stroke, locking up the vTaskOSD draw thread and effectively crashing the OSD. It did not take long - a minute or two - so I am surprised there have been no reports of this happening from users in the air.
Adding / improving comments in the draw_map() routine
Changing hard-coded message number in osdmavlink.c to it's proper define (16 => MAV_CMD_NAV_WAYPOINT).
Example for reference:
http://en.playuav.com/uploads/answer/20160926/1fb769a2f85eacf4b4ae92e244582720.jpg