Skip to content

puppet-lint crashes with mispelled namespace seperators #853

Description

@LowzG

puppet-lint version: 2.3.6
ruby version: 2.5.1-p57
platform: x86_64-linux-gnu

I accidentally typed a colon followed by a semicolon as a namespace separator, instead of double colon, and it caused puppet-lint to crash.

Example:
$testparam = $::module:;testparam

Here is the error message:

TypeError: no implicit conversion from nil to integer
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/data.rb:204:in `find_resource_type_token'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/data.rb:185:in `block in resource_indexes'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/data.rb:171:in `each'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/data.rb:171:in `resource_indexes'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/checkplugin.rb:81:in `resource_indexes'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/plugins/check_resources/file_mode.rb:13:in `check'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/checkplugin.rb:21:in `run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/checks.rb:61:in `block in run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/checks.rb:58:in `each'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/checks.rb:58:in `run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint.rb:205:in `run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/bin.rb:66:in `block in run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/bin.rb:62:in `each'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/lib/puppet-lint/bin.rb:62:in `run'
/var/lib/gems/2.5.0/gems/puppet-lint-2.3.6/bin/puppet-lint:7:in `<top (required)>'
/usr/local/bin/puppet-lint:23:in `load'
/usr/local/bin/puppet-lint:23:in `<main>'

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions