Update of bug #56555 (project groff):

                  Status:                    None => Ready For Test         
             Assigned to:                    None => gbranden               

    _______________________________________________________

Follow-up Comment #4:

This seems to be a bog-standard instance of calling functions that can return
errors and then not checking for errors.

A fix is attached.  Please code-review.

Although the problem is in libdriver, I went ahead and tested the fix on every
output driver that calls set_char(), and got satisfactory results (complaint,
but no crash):


$ grep -lrw 'set_char' src
src/include/printer.h
src/libs/libdriver/printer.cpp
src/devices/grolj4/lj4.cpp
src/devices/grotty/tty.cpp
src/devices/grolbp/lbp.cpp
src/devices/grohtml/post-html.cpp
src/devices/grodvi/dvi.cpp
src/devices/grops/ps.cpp

$ for DEV in lj4 utf8 ascii lbp html dvi ps; do ./build/test-groff -T$DEV
./crash.nroff >/dev/null || echo driver $DEV failed with exit status $?; done
grolj4:<standard input>:5: bad font position '-1'
grotty:<standard input>:5: bad font position '-1'
grotty:<standard input>:5: bad font position '-1'
grolbp:<standard input>:5: bad font position '-1'
grops:<standard input> (././crash.nroff):6: bad font position '-1'
post-grohtml:<standard input> (././crash.nroff):26: bad font position '-1'
grodvi:<standard input>:5: bad font position '-1'
grops:<standard input>:5: bad font position '-1'


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?56555>

_______________________________________________
  Message sent via Savannah
  https://savannah.gnu.org/


_______________________________________________
bug-groff mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-groff

Reply via email to