[Bug 1605732] [NEW] Entering a long, invalid command to the terminal freezes the system
Aku Viljanen
akuviljanen17 at gmail.com
Fri Jul 22 18:54:18 UTC 2016
Public bug reported:
If I enter an invalid command that is a few thousand characters long it
goes to the command-not-found program, and it starts to look for it in
the repositories. This takes up a lot of RAM, and the whole system
freezes.
By default, /usr/lib/command-not-found contains these lines:
if len(args) == 1:
cnf = CommandNotFound(options.data_dir)
if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
print(_("%s: command not found") % args[0], file=sys.stderr)
Adding a simple length check is enough to completely solve this problem.
if len(args) == 1:
# Fix crashing with long commands
if len(args[0]) > 50:
print(_("%s: command not found") % args[0], file=sys.stderr)
else:
cnf = CommandNotFound(options.data_dir)
if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
print(_("%s: command not found") % args[0], file=sys.stderr)
I'm having this issue in Ubuntu 14.04.04 with command-not-found 0.3ubuntu12, but the same code is in 16.10's packages.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: command-not-found 0.3ubuntu12 [modified: usr/lib/command-not-found]
ProcVersionSignature: Ubuntu 4.2.0-42.49~14.04.1-generic 4.2.8-ckt12
Uname: Linux 4.2.0-42-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
CurrentDesktop: MATE
Date: Fri Jul 22 19:12:59 2016
PackageArchitecture: all
SourcePackage: command-not-found
UpgradeStatus: No upgrade log present (probably fresh install)
** Affects: command-not-found (Ubuntu)
Importance: Undecided
Status: New
** Tags: amd64 apport-bug trusty
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to command-not-found in Ubuntu.
https://bugs.launchpad.net/bugs/1605732
Title:
Entering a long, invalid command to the terminal freezes the system
Status in command-not-found package in Ubuntu:
New
Bug description:
If I enter an invalid command that is a few thousand characters long
it goes to the command-not-found program, and it starts to look for it
in the repositories. This takes up a lot of RAM, and the whole system
freezes.
By default, /usr/lib/command-not-found contains these lines:
if len(args) == 1:
cnf = CommandNotFound(options.data_dir)
if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
print(_("%s: command not found") % args[0], file=sys.stderr)
Adding a simple length check is enough to completely solve this problem.
if len(args) == 1:
# Fix crashing with long commands
if len(args[0]) > 50:
print(_("%s: command not found") % args[0], file=sys.stderr)
else:
cnf = CommandNotFound(options.data_dir)
if not cnf.advise(args[0], options.ignore_installed) and not options.no_failure_msg:
print(_("%s: command not found") % args[0], file=sys.stderr)
I'm having this issue in Ubuntu 14.04.04 with command-not-found 0.3ubuntu12, but the same code is in 16.10's packages.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: command-not-found 0.3ubuntu12 [modified: usr/lib/command-not-found]
ProcVersionSignature: Ubuntu 4.2.0-42.49~14.04.1-generic 4.2.8-ckt12
Uname: Linux 4.2.0-42-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.21
Architecture: amd64
CurrentDesktop: MATE
Date: Fri Jul 22 19:12:59 2016
PackageArchitecture: all
SourcePackage: command-not-found
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/command-not-found/+bug/1605732/+subscriptions
More information about the foundations-bugs
mailing list