<div dir="ltr"><div>Hi,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Oct 31, 2019 at 4:12 PM David McMahon <<a href="mailto:thedjm@gmail.com">thedjm@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><br><div>Thanks for the clue!  Looking on that on the settings page of the printer, the hostname is the default of "Canoncbcab3" which seems harmless enough.  I changed it to "Can" to see if that changed anything, but still getting the buffer overflow.</div><div>If you have a link handy to that part of the code, can you point me to it?  Maybe it's something else right after the strcpy().</div><div> </div></div></div></blockquote><div><br></div><div>Hmm, that might have been slightly misleading.</div><div><br></div><div>I'm looking at backend/pixma_bjnp.c at line 801, which is where we see the last successful debug message from the function get_scanner_id():</div><div><br></div><div>"get_scanner_id: Scanner model = ...."<br></div><div></div><div><br></div><div>It returns to the only place it is called, line 1817 in add_scanner().<br></div><div>We don't get the error message (at line 1819) so it must next call the function determine_scanner_serial() which attempts to determine a "serial number" for the scanner.</div><div>This could be one of a selection of things, so that might be the culprit, since it does some strcpy() calls in there, although we don't have any debug messages in there, so we don't really know how far it got before the buffer overrun struck :(</div><div><br></div><div>If it were me chasing this, I would add some more dbg messages to see how far it got, perhaps one after the call to determine_scanner_serial() to see if it returned to start off with. If it didn't some dbg in the function determine_scanner_serial() to see what it decided.<br></div><div><br></div><div>Cheers,</div><div>Ralph<br></div></div></div>