9term: Add missing parentheses, preventing buffer overflow.

(el-sr) is the string length and (sizeof wdir - strlen(name) - 20)
is the buffer size. When the string length is greater than the
buffer size, the beginning of the string is supposed to be trimmed
to fit in the buffer size. Unfortunately a pair of parentheses were
missing, pointing sr outside the buffer, and the for loop below
then reads outside the buffer. For certain binary data printed in
a window, it causes a segfault.

Change-Id: Iffeaa348260ee2a5a36d9577308fb8d1c1688d05
Reviewed-on: https://plan9port-review.googlesource.com/1540
Reviewed-by: Gleydson Soares <gsoares@gmail.com>
1 file changed
tree: cb5a6dade1296992775f07619eb1abf702981ded
  1. acid/
  2. bin/
  3. dict/
  4. dist/
  5. face/
  6. font/
  7. include/
  8. lib/
  9. log/
  10. lp/
  11. mac/
  12. mail/
  13. man/
  14. ndb/
  15. news/
  16. plumb/
  17. postscript/
  18. proto/
  19. sky/
  20. src/
  21. tmac/
  22. troff/
  23. unix/
  24. .gitignore
  26. configure
  30. install.txt
  32. Makefile
  33. rcmain
  34. README.md
  35. TODO

This is a port of many Plan 9 libraries and programs to Unix.


To install, run ./INSTALL. It builds mk and then uses mk to run the rest of the installation.

For more details, see install(1), at install.txt in this directory and at http://swtch.com/plan9port/man/man1/install.html.


See http://swtch.com/plan9port/man/ for more documentation. (Documentation is also in this tree, but you need to run a successful install first. After that, “9 man 1 intro”.)

Intro(1) contains a list of man pages that describe new features or differences from Plan 9.

Helping out

If you'd like to help out, great! The TODO file contains a small list.

If you port this code to other architectures, please share your changes so others can benefit.

Please use codereview(1) to prepare patches.


You can use Git to keep your local copy up-to-date as we make changes and fix bugs. See the git(1) man page here (“9 man git”) for details on using Git.