Software / code / prosody
Annotate
.semgrep.yml @ 13794:471b676e64eb 13.0
util.adminstream: Fix traceback on double-close (fixes #1913)
In some circumstances, particularly with 'opportunistic_writes' and
'fatal_errors' enabled in the epoll backend, the connection may be closed
halfway through the session close process (because it contains debug logging,
which in the case of the watch:log() command, will trigger a write to the
socket).
The chosen fix is to cache session.conn in a local variable (we already did
this later on, but this pulls it up to the top of the function, which is
generally more correct anyway).
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Mon, 31 Mar 2025 16:25:09 +0100 |
| parent | 13700:9b7687b47da9 |
| rev | line source |
|---|---|
| 11289 | 1 rules: |
| 2 - id: log-variable-fmtstring | |
| 3 patterns: | |
| 4 - pattern: log("...", $A) | |
| 5 - pattern-not: log("...", "...") | |
| 6 message: Variable passed as format string to logging | |
| 7 languages: [lua] | |
| 8 severity: ERROR | |
| 9 - id: module-log-variable-fmtstring | |
| 10 patterns: | |
| 11 - pattern: module:log("...", $A) | |
| 12 - pattern-not: module:log("...", "...") | |
| 13 message: Variable passed as format string to logging | |
| 14 languages: [lua] | |
| 15 severity: ERROR | |
| 16 - id: module-getopt-string-default | |
| 17 patterns: | |
| 18 - pattern: module:get_option_string("...", $A) | |
| 19 - pattern-not: module:get_option_string("...", "...") | |
| 20 - pattern-not: module:get_option_string("...", host) | |
| 21 - pattern-not: module:get_option_string("...", module.host) | |
| 22 message: Non-string default from :get_option_string | |
| 23 severity: ERROR | |
| 24 languages: [lua] | |
|
12717
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
25 - id: stanza-empty-text-constructor |
|
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
26 patterns: |
|
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
27 - pattern: $A:text() |
|
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
28 message: Use :get_text() to read text, or pass a value here to add text |
|
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
29 severity: WARNING |
|
898e99f49d80
semgrep: Catch stanza:text() (assuming it's meant to be :get_text())
Matthew Wild <mwild1@gmail.com>
parents:
11289
diff
changeset
|
30 languages: [lua] |
|
13700
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
31 - id: require-unprefixed-module |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
32 patterns: |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
33 - pattern: require("$X") |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
34 - metavariable-regex: |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
35 metavariable: $X |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
36 regex: '^(core|net|util)\.' |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
37 message: Prefix required module path with 'prosody.' |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
38 severity: ERROR |
|
9b7687b47da9
.semgrep.yml: Identify unprefixed module imports
Matthew Wild <mwild1@gmail.com>
parents:
12717
diff
changeset
|
39 languages: [lua] |