[cups.bugs] [MOD] STR #2667: ipp backend crashes in some cases when printer unavailable

Donald Boettner dwb at umich.edu
Thu Jan 10 13:34:35 PST 2008


DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

To avoid the problem of str2656, instead of deleting a printer and defining
a class of that name, I changed the printer to print to a new class that
contains the real printers. This uncovered a new problem. If the printer
in that class that was selected was not accepting jobs, the ipp backend
would crash (seg fault on our system). 

The problem is in 
   if (argc == 6 || strcmp(filename, argv[6]))
     unlink(filename);
since in this case argc is 7, so it tries to do the strcmp, but the
filename variable is set up earlier only if argc is 6. 

Note that this statement occurs three times in ipp.c 

[I fixed this for our system by deleting the second clause in the "if"
statement, but this is not a general solution (we do not use
compression).]

Link: http://www.cups.org/str.php?L2667
Version: 1.3.5





More information about the cups-devel mailing list