| Group |
Location |
Level |
Code |
Message |
| General Analysis |
algo_md5.c:93/data/src/lighttpd/src/algo_md5.c:93 |
Low |
V1003 |
The macro 'I' is a dangerous expression. The parameter 'z' must be surrounded by parentheses. |
| General Analysis |
algo_md5.c:149/data/src/lighttpd/src/algo_md5.c:149 |
Low |
V1019 |
Compound assignment expression is used inside condition. |
| General Analysis |
algo_sha1.c:112/data/src/lighttpd/src/algo_sha1.c:112 |
High |
V1001 |
The 'a' variable is assigned but is not used by the end of the function. |
| General Analysis |
algo_sha1.c:53/data/src/lighttpd/src/algo_sha1.c:53 |
Low |
V1003 |
The macro 'blk' is a dangerous expression. The parameter 'i' must be surrounded by parentheses. |
| General Analysis |
algo_sha1.c:132/data/src/lighttpd/src/algo_sha1.c:132 |
Low |
V1019 |
Compound assignment expression 'context->count[0] += len << 3' is used inside condition. |
| General Analysis |
algo_splaytree.c:116/data/src/lighttpd/src/algo_splaytree.c:116 |
Medium |
V522 |
There might be dereferencing of a potential null pointer 'new'. Check lines: 116, 113. |
| General Analysis |
algo_xxhash.h:3061/data/src/lighttpd/src/algo_xxhash.h:3061 |
Medium |
V1115 |
The 'XXH32_mergeAccs' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
algo_xxhash.h:3084/data/src/lighttpd/src/algo_xxhash.h:3084 |
Medium |
V1115 |
The 'XXH32_finalize' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
algo_xxhash.h:3173/data/src/lighttpd/src/algo_xxhash.h:3173 |
Medium |
V1115 |
The 'XXH32_endian_align' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
array.c:188/data/src/lighttpd/src/array.c:188 |
Medium |
V1115 |
The 'array_caseless_compare' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
array.c:205/data/src/lighttpd/src/array.c:205 |
Medium |
V1115 |
The 'array_keycmp' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
array.c:211/data/src/lighttpd/src/array.c:211 |
Medium |
V1115 |
The 'array_keycmpb' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
array.c:225/data/src/lighttpd/src/array.c:225 |
Medium |
V1115 |
The 'array_get_index_ext' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
array.c:259/data/src/lighttpd/src/array.c:259 |
Medium |
V1115 |
The 'array_get_index' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
base_decls.h:34/data/src/lighttpd/src/base_decls.h:34 |
Low |
V1003 |
The macro 'BV' is a dangerous expression. The parameter 'x' must be surrounded by parentheses. |
| General Analysis |
buffer.c:61/data/src/lighttpd/src/buffer.c:61 |
Medium |
V701 |
realloc() possible leak: when realloc() fails in allocating memory, original pointer 'b->ptr' is lost. Consider assigning realloc() to a temporary pointer. |
| General Analysis |
buffer.c:334/data/src/lighttpd/src/buffer.c:334 |
Medium |
V782 |
There is no sense in evaluating the distance between elements from different arrays: 'buf + sizeof (buf) - str'. |
| General Analysis |
buffer.c:362/data/src/lighttpd/src/buffer.c:362 |
Medium |
V782 |
There is no sense in evaluating the distance between elements from different arrays: 'p_buf + sizeof (p_buf) - str'. |
| General Analysis |
buffer.c:371/data/src/lighttpd/src/buffer.c:371 |
Medium |
V782 |
There is no sense in evaluating the distance between elements from different arrays: 'p_buf + sizeof (p_buf) - str'. |
| General Analysis |
buffer.c:125/data/src/lighttpd/src/buffer.c:125 |
Medium |
V1071 |
Consider inspecting the 'buffer_extend' function. The return value is not always used. Total calls: 14, discarded results: 1. |
| General Analysis |
buffer.c:774/data/src/lighttpd/src/buffer.c:774 |
Low |
V525 |
The code contains the collection of similar blocks. Check items ''\\'', ''u'', ''0'', ''0'' in lines 774, 775, 776, 777. |
| General Analysis |
buffer.h:389/data/src/lighttpd/src/buffer.h:389 |
Low |
V524 |
It is odd that the body of 'buffer_has_pathsep_suffix' function is fully equivalent to the body of 'buffer_has_slash_suffix' function. |
| General Analysis |
burl.c:303/data/src/lighttpd/src/burl.c:303 |
Medium |
V560 |
A part of conditional expression is always true: ++ i. |
| General Analysis |
burl.c:337/data/src/lighttpd/src/burl.c:337 |
Medium |
V1115 |
The 'burl_scan_qmark' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
chunk.c:521/data/src/lighttpd/src/chunk.c:521 |
Medium |
V1115 |
The 'chunk_remaining_length' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
chunk.c:344/data/src/lighttpd/src/chunk.c:344 |
Low |
V1004 |
The 'chunks_oversized' pointer was used unsafely after it was verified against nullptr. Check lines: 341, 344. |
| General Analysis |
chunk.c:786/data/src/lighttpd/src/chunk.c:786 |
Low |
V1019 |
Compound assignment expression 'd->refcnt += mod' is used inside condition. |
| General Analysis |
chunk.c:1481/data/src/lighttpd/src/chunk.c:1481 |
Low |
V1019 |
Compound assignment expression 'clen -= len' is used inside condition. |
| General Analysis |
chunk.c:1905/data/src/lighttpd/src/chunk.c:1905 |
Low |
V1095 |
Usage of potentially invalid handle. The value should be non-negative. Check the fourth argument. |
| General Analysis |
ck.h:38/data/src/lighttpd/src/ck.h:38 |
Medium |
V677 |
Custom declaration of a standard 'errno_t' type. The declaration from system header files should be used instead. |
| General Analysis |
configfile-glue.c:218/data/src/lighttpd/src/configfile-glue.c:218 |
Medium |
V1004 |
The 'v' pointer was used unsafely after it was verified against nullptr. Check lines: 208, 218. |
| General Analysis |
configfile-glue.c:256/data/src/lighttpd/src/configfile-glue.c:256 |
Medium |
V1004 |
The 'v' pointer was used unsafely after it was verified against nullptr. Check lines: 247, 256. |
| General Analysis |
configfile.c:248/data/src/lighttpd/src/configfile.c:248 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 248, 252 |
| General Analysis |
configfile.c:1204/data/src/lighttpd/src/configfile.c:1204 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 1204, 1246 |
| General Analysis |
configfile.c:1267/data/src/lighttpd/src/configfile.c:1267 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 1267, 1271 |
| General Analysis |
configfile.c:1920/data/src/lighttpd/src/configfile.c:1920 |
Medium |
V1071 |
Consider inspecting the 'config_tokenizer_err' function. The return value is not always used. Total calls: 14, discarded results: 1. |
| General Analysis |
configfile.c:327/data/src/lighttpd/src/configfile.c:327 |
Medium |
V1115 |
The 'config_has_opt_enabled' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configfile.c:344/data/src/lighttpd/src/configfile.c:344 |
Medium |
V1115 |
The 'config_has_opt_and_value' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configfile.c:1506/data/src/lighttpd/src/configfile.c:1506 |
Medium |
V1115 |
The 'config_print_array_max_klen' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configfile.c:1905/data/src/lighttpd/src/configfile.c:1905 |
Medium |
V1115 |
The 'config_skip_newline' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configfile.c:1912/data/src/lighttpd/src/configfile.c:1912 |
Medium |
V1115 |
The 'config_skip_comment' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configfile.c:1341/data/src/lighttpd/src/configfile.c:1341 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 1198, 1341. |
| General Analysis |
configfile.c:1342/data/src/lighttpd/src/configfile.c:1342 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 1198, 1342. |
| General Analysis |
configfile.c:2792/data/src/lighttpd/src/configfile.c:2792 |
Low |
V1048 |
The 's->force_lowercase_filenames' variable was assigned the same value. |
| General Analysis |
configfile.c:1354/data/src/lighttpd/src/configfile.c:1354 |
Low |
V1051 |
Consider checking for misprints. It's possible that the 'p->defaults.log_request_header_on_error' should be checked here. |
| General Analysis |
configparser.y:678/data/src/lighttpd/src/configparser.y:678 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 678, 686 |
| General Analysis |
configparser.y:35/data/src/lighttpd/src/configparser.y:35 |
Medium |
V1115 |
The 'configparser_get_data_config' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
configparser.y:156/data/src/lighttpd/src/configparser.y:156 |
Medium |
V1115 |
The 'configparser_comp_key_id' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
connections.c:221/data/src/lighttpd/src/connections.c:221 |
Medium |
V1115 |
The 'connection_write_throttle' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
gw_backend.c:2479/data/src/lighttpd/src/gw_backend.c:2479 |
High |
V593 |
Consider reviewing the expression of the 'A = B < C' kind. The expression is calculated as following: 'A = (B < C)'. |
| General Analysis |
gw_backend.c:1494/data/src/lighttpd/src/gw_backend.c:1494 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 1494, 1497 |
| General Analysis |
gw_backend.c:773/data/src/lighttpd/src/gw_backend.c:773 |
Medium |
V1115 |
The 'unixsocket_is_dup' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
gw_backend.c:861/data/src/lighttpd/src/gw_backend.c:861 |
Medium |
V1115 |
The 'gw_hash' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
gw_backend.c:1751/data/src/lighttpd/src/gw_backend.c:1751 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'h'. |
| General Analysis |
gw_backend.c:2479/data/src/lighttpd/src/gw_backend.c:2479 |
Low |
V559 |
Suspicious assignment inside the conditional expression of ternary operator: reconnect = hctx->reconnects ++ < 5. |
| General Analysis |
gw_backend.c:273/data/src/lighttpd/src/gw_backend.c:273 |
Low |
V576 |
Incorrect format. Consider checking the seventh actual argument of the 'log_debug' function. The SIGNED integer type argument is expected. |
| General Analysis |
gw_backend.c:317/data/src/lighttpd/src/gw_backend.c:317 |
Low |
V576 |
Incorrect format. Consider checking the sixth actual argument of the 'log_debug' function. The SIGNED integer type argument is expected. |
| General Analysis |
gw_backend.c:1081/data/src/lighttpd/src/gw_backend.c:1081 |
Low |
V576 |
Incorrect format. Consider checking the eighth actual argument of the 'log_debug' function. The SIGNED integer type argument is expected. |
| General Analysis |
gw_backend.c:2463/data/src/lighttpd/src/gw_backend.c:2463 |
Low |
V576 |
Incorrect format. Consider checking the sixth actual argument of the 'log_debug' function. The SIGNED integer type argument is expected. |
| General Analysis |
gw_backend.c:1674/data/src/lighttpd/src/gw_backend.c:1674 |
Low |
V1048 |
The 'host->max_load_per_proc' variable was assigned the same value. |
| General Analysis |
h1.c:561/data/src/lighttpd/src/h1.c:561 |
Medium |
V1115 |
The 'h1_chunked_crlf' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:1699/data/src/lighttpd/src/h2.c:1699 |
Medium |
V547 |
Expression 'tb->size <= (65535)' is always false. |
| General Analysis |
h2.c:1994/data/src/lighttpd/src/h2.c:1994 |
Medium |
V547 |
Expression '!h2c->sent_goaway' is always true. |
| General Analysis |
h2.c:3489/data/src/lighttpd/src/h2.c:3489 |
Medium |
V778 |
Two similar code fragments were found. Perhaps, this is a typo and 'uri' variable should be used instead of 'rqst_headers'. |
| General Analysis |
h2.c:242/data/src/lighttpd/src/h2.c:242 |
Medium |
V1115 |
The 'h2_u32' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:253/data/src/lighttpd/src/h2.c:253 |
Medium |
V1115 |
The 'h2_u31' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:261/data/src/lighttpd/src/h2.c:261 |
Medium |
V1115 |
The 'h2_u24' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:279/data/src/lighttpd/src/h2.c:279 |
Medium |
V1115 |
The 'h2_u16' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:290/data/src/lighttpd/src/h2.c:290 |
Medium |
V1115 |
The 'h2_get_stream_req' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:806/data/src/lighttpd/src/h2.c:806 |
Medium |
V1115 |
The 'h2_parse_priority_update' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
h2.c:786/data/src/lighttpd/src/h2.c:786 |
Low |
V793 |
It is odd that the result of the 'rpos - npos' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis |
h2.c:2040/data/src/lighttpd/src/h2.c:2040 |
Low |
V793 |
It is odd that the result of the 'h2c->rused - 1' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis |
h2.c:1321/data/src/lighttpd/src/h2.c:1321 |
Low |
V1019 |
Compound assignment expression 'n -= rwin' is used inside condition. |
| General Analysis |
http-header-glue.c:239/data/src/lighttpd/src/http-header-glue.c:239 |
Medium |
V1115 |
The 'http_response_maybe_cachable' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
http-header-glue.c:776/data/src/lighttpd/src/http-header-glue.c:776 |
Medium |
V1115 |
The 'http_response_append_buffer_simple_accum' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
http-header-glue.c:846/data/src/lighttpd/src/http-header-glue.c:846 |
Low |
V1019 |
Compound assignment expression 'r->resp_body_scratchpad -= n' is used inside condition. |
| General Analysis |
http-header-glue.c:63/data/src/lighttpd/src/http-header-glue.c:63 |
Low |
V1027 |
Pointer to an object of the 'sock_addr' class is cast to unrelated 'sockaddr' class. |
| General Analysis |
http_cgi.c:337/data/src/lighttpd/src/http_cgi.c:337 |
Low |
V1027 |
Pointer to an object of the 'sock_addr' class is cast to unrelated 'sockaddr' class. |
| General Analysis |
http_chunk.c:192/data/src/lighttpd/src/http_chunk.c:192 |
Medium |
V1115 |
The 'http_chunk_uses_tempfile' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
http_etag.c:94/data/src/lighttpd/src/http_etag.c:94 |
Medium |
V614 |
Potentially uninitialized buffer '(char *) x' used. Consider checking the second actual argument of the 'http_etag_remix' function. |
| General Analysis |
http_header.c:222/data/src/lighttpd/src/http_header.c:222 |
Medium |
V1115 |
The 'http_header_generic_get_ifnotempty' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
http_status.c:89/data/src/lighttpd/src/http_status.c:89 |
Medium |
V1115 |
The 'http_status_keyvalue_from_key' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
lemon.c:2983/data/src/lighttpd/src/lemon.c:2983 |
Medium |
V547 |
Expression 'z[k] == 0' is always false. |
| General Analysis |
lemon.c:3901/data/src/lighttpd/src/lemon.c:3901 |
Medium |
V547 |
Expression 'cp == 0' is always false. |
| General Analysis |
lemon.c:2528/data/src/lighttpd/src/lemon.c:2528 |
Medium |
V580 |
An odd explicit type casting: (struct symbol * *) & rp[1]. Consider verifying it. |
| General Analysis |
lemon.c:5506/data/src/lighttpd/src/lemon.c:5506 |
Medium |
V580 |
An odd explicit type casting: (x1node * *) & (x1a->tbl[1024]). Consider verifying it. |
| General Analysis |
lemon.c:5539/data/src/lighttpd/src/lemon.c:5539 |
Medium |
V580 |
An odd explicit type casting: (x1node * *) & (array.tbl[arrSize]). Consider verifying it. |
| General Analysis |
lemon.c:5674/data/src/lighttpd/src/lemon.c:5674 |
Medium |
V580 |
An odd explicit type casting: (x2node * *) & (x2a->tbl[128]). Consider verifying it. |
| General Analysis |
lemon.c:5707/data/src/lighttpd/src/lemon.c:5707 |
Medium |
V580 |
An odd explicit type casting: (x2node * *) & (array.tbl[arrSize]). Consider verifying it. |
| General Analysis |
lemon.c:5873/data/src/lighttpd/src/lemon.c:5873 |
Medium |
V580 |
An odd explicit type casting: (x3node * *) & (x3a->tbl[128]). Consider verifying it. |
| General Analysis |
lemon.c:5906/data/src/lighttpd/src/lemon.c:5906 |
Medium |
V580 |
An odd explicit type casting: (x3node * *) & (array.tbl[arrSize]). Consider verifying it. |
| General Analysis |
lemon.c:6013/data/src/lighttpd/src/lemon.c:6013 |
Medium |
V580 |
An odd explicit type casting: (x4node * *) & (x4a->tbl[64]). Consider verifying it. |
| General Analysis |
lemon.c:6047/data/src/lighttpd/src/lemon.c:6047 |
Medium |
V580 |
An odd explicit type casting: (x4node * *) & (array.tbl[arrSize]). Consider verifying it. |
| General Analysis |
lemon.c:2056/data/src/lighttpd/src/lemon.c:2056 |
Medium |
V707 |
Giving short names to global variables is considered to be bad practice. It is suggested to rename 'op' variable. |
| General Analysis |
lemon.c:1092/data/src/lighttpd/src/lemon.c:1092 |
Medium |
V1004 |
The 'stp' pointer was used unsafely after it was verified against nullptr. Check lines: 1091, 1092. |
| General Analysis |
lemon.c:4378/data/src/lighttpd/src/lemon.c:4378 |
Medium |
V1048 |
The 'nByte' variable was assigned the same value. |
| General Analysis |
lemon.c:1455/data/src/lighttpd/src/lemon.c:1455 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'cfp'. |
| General Analysis |
lemon.c:1481/data/src/lighttpd/src/lemon.c:1481 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'cfp'. |
| General Analysis |
lemon.c:1522/data/src/lighttpd/src/lemon.c:1522 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'newcfp'. |
| General Analysis |
lemon.c:2130/data/src/lighttpd/src/lemon.c:2130 |
Low |
V522 |
There might be dereferencing of a potential null pointer '(int *) op[j].arg'. |
| General Analysis |
lemon.c:2575/data/src/lighttpd/src/lemon.c:2575 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'msp->subsym'. |
| General Analysis |
lemon.c:2916/data/src/lighttpd/src/lemon.c:2916 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'msp->subsym'. |
| General Analysis |
lemon.c:3906/data/src/lighttpd/src/lemon.c:3906 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'cp'. |
| General Analysis |
lemon.c:4305/data/src/lighttpd/src/lemon.c:4305 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'cp'. |
| General Analysis |
lemon.c:5171/data/src/lighttpd/src/lemon.c:5171 |
Low |
V526 |
The 'strcmp' function returns 0 if corresponding strings are equal. Consider examining the condition for mistakes. |
| General Analysis |
lemon.c:597/data/src/lighttpd/src/lemon.c:597 |
Low |
V574 |
The 'actionfreelist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 593, 597. |
| General Analysis |
lemon.c:3279/data/src/lighttpd/src/lemon.c:3279 |
Low |
V574 |
The 'plink_freelist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 3275, 3279. |
| General Analysis |
lemon.c:114/data/src/lighttpd/src/lemon.c:114 |
Low |
V575 |
The potential null pointer is passed into 'memset' function. Inspect the first argument. |
| General Analysis |
lemon.c:134/data/src/lighttpd/src/lemon.c:134 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the first argument. |
| General Analysis |
lemon.c:2571/data/src/lighttpd/src/lemon.c:2571 |
Low |
V575 |
The potential null pointer is passed into 'memset' function. Inspect the first argument. |
| General Analysis |
lemon.c:2800/data/src/lighttpd/src/lemon.c:2800 |
Low |
V769 |
The '* psp->declargslot' pointer in the '* psp->declargslot + nOld' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
| General Analysis |
lemon.c:4078/data/src/lighttpd/src/lemon.c:4078 |
Low |
V769 |
The 'cp' pointer in the 'cp += ((int) strlen(zOvwrt)) - 1' expression could be nullptr. In such case, resulting value will be senseless and it should not be used. |
| General Analysis |
lemon.c:1729/data/src/lighttpd/src/lemon.c:1729 |
Low |
V1048 |
The 'rp' variable was assigned the same value. |
| General Analysis |
log.c:296/data/src/lighttpd/src/log.c:296 |
Low |
V1003 |
The macro 'LOG_PRI' is a dangerous expression. The parameter 'x' must be surrounded by parentheses. |
| General Analysis |
lshpack.c:783/data/src/lighttpd/src/ls-hpack/lshpack.c:783 |
High |
V614 |
Uninitialized variable 'bits' used. |
| General Analysis |
lshpack.c:369/data/src/lighttpd/src/ls-hpack/lshpack.c:369 |
Medium |
V547 |
Expression '!hist_size' is always false. |
| General Analysis |
lshpack.c:1508/data/src/lighttpd/src/ls-hpack/lshpack.c:1508 |
Medium |
V547 |
Expression 'ret > (- 3)' is always true. |
| General Analysis |
lshpack.c:1646/data/src/lighttpd/src/ls-hpack/lshpack.c:1646 |
Medium |
V1048 |
The 'buf_len' variable was assigned the same value. |
| General Analysis |
lshpack.c:462/data/src/lighttpd/src/ls-hpack/lshpack.c:462 |
Low |
V575 |
The potential null pointer is passed into 'memcmp' function. Inspect the first argument. |
| General Analysis |
lshpack.c:486/data/src/lighttpd/src/ls-hpack/lshpack.c:486 |
Low |
V575 |
The potential null pointer is passed into 'memcmp' function. Inspect the first argument. |
| General Analysis |
lshpack.c:531/data/src/lighttpd/src/ls-hpack/lshpack.c:531 |
Low |
V575 |
The potential null pointer is passed into 'memcmp' function. Inspect the first argument. |
| General Analysis |
lshpack.c:639/data/src/lighttpd/src/ls-hpack/lshpack.c:639 |
Low |
V575 |
The potential null pointer is passed into 'memcmp' function. Inspect the first argument. |
| General Analysis |
lshpack.c:1040/data/src/lighttpd/src/ls-hpack/lshpack.c:1040 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis |
lshpack.c:1575/data/src/lighttpd/src/ls-hpack/lshpack.c:1575 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis |
mod_access.c:121/data/src/lighttpd/src/mod_access.c:121 |
Medium |
V1115 |
The 'mod_access_check' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_accesslog.c:783/data/src/lighttpd/src/mod_accesslog.c:783 |
High |
V1040 |
Possible typo in the spelling of a pre-defined macro name. The '___MINGW32__' macro is similar to '__MINGW32__'. |
| General Analysis |
mod_accesslog.c:838/data/src/lighttpd/src/mod_accesslog.c:838 |
Medium |
V1019 |
Compound assignment expression 'j += 2' is used inside condition. |
| General Analysis |
mod_accesslog.c:1034/data/src/lighttpd/src/mod_accesslog.c:1034 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'fdlog'. |
| General Analysis |
mod_accesslog.c:492/data/src/lighttpd/src/mod_accesslog.c:492 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 408, 492. |
| General Analysis |
mod_accesslog.c:493/data/src/lighttpd/src/mod_accesslog.c:493 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 408, 493. |
| General Analysis |
mod_accesslog.c:655/data/src/lighttpd/src/mod_accesslog.c:655 |
Low |
V1019 |
Compound assignment expression 'bytes -= (off_t) adj' is used inside condition. |
| General Analysis |
mod_ajp13.c:235/data/src/lighttpd/src/mod_ajp13.c:235 |
High |
V522 |
Dereferencing of the null pointer 's' might take place. The null pointer is passed into 'ajp13_enc_string' function. Inspect the third argument. Check lines: 235, 560. |
| General Analysis |
mod_ajp13.c:235/data/src/lighttpd/src/mod_ajp13.c:235 |
High |
V522 |
Dereferencing of the null pointer 's' might take place. The null pointer is passed into 'ajp13_enc_string' function. Inspect the third argument. Check lines: 235, 631. |
| General Analysis |
mod_ajp13.c:309/data/src/lighttpd/src/mod_ajp13.c:309 |
Medium |
V1115 |
The 'ajp13_method_byte' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_ajp13.c:180/data/src/lighttpd/src/mod_ajp13.c:180 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 144, 180. |
| General Analysis |
mod_ajp13.c:181/data/src/lighttpd/src/mod_ajp13.c:181 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 144, 181. |
| General Analysis |
mod_alias.c:122/data/src/lighttpd/src/mod_alias.c:122 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 108, 122. |
| General Analysis |
mod_alias.c:123/data/src/lighttpd/src/mod_alias.c:123 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 108, 123. |
| General Analysis |
mod_auth.c:1092/data/src/lighttpd/src/mod_auth.c:1092 |
High |
V1008 |
Consider inspecting the 'for' operator. No more than one iteration of the loop will be performed. |
| General Analysis |
mod_auth.c:573/data/src/lighttpd/src/mod_auth.c:573 |
Medium |
V547 |
Expression 'require' is always true. |
| General Analysis |
mod_auth.c:827/data/src/lighttpd/src/mod_auth.c:827 |
Medium |
V782 |
There is no sense in evaluating the distance between elements from different arrays: 'user + ulen - pw'. |
| General Analysis |
mod_auth.c:969/data/src/lighttpd/src/mod_auth.c:969 |
Medium |
V1048 |
The 'iov[1].iov_len' variable was assigned the same value. |
| General Analysis |
mod_auth.c:1527/data/src/lighttpd/src/mod_auth.c:1527 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer '& dp'. |
| General Analysis |
mod_auth.c:121/data/src/lighttpd/src/mod_auth.c:121 |
Medium |
V1115 |
The 'http_auth_cache_hash' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_auth.c:696/data/src/lighttpd/src/mod_auth.c:696 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 655, 696. |
| General Analysis |
mod_auth.c:697/data/src/lighttpd/src/mod_auth.c:697 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 655, 697. |
| General Analysis |
mod_auth_api.c:85/data/src/lighttpd/src/mod_auth_api.c:85 |
Medium |
V1115 |
The 'http_auth_array_contains' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_authn_file.c:183/data/src/lighttpd/src/mod_authn_file.c:183 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 166, 183. |
| General Analysis |
mod_authn_file.c:184/data/src/lighttpd/src/mod_authn_file.c:184 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 166, 184. |
| General Analysis |
mod_cgi.c:1037/data/src/lighttpd/src/mod_cgi.c:1037 |
High |
V614 |
Potentially uninitialized pointer 'args[0]' used. Consider checking the first actual argument of the 'fdevent_fork_execve' function. |
| General Analysis |
mod_cgi.c:438/data/src/lighttpd/src/mod_cgi.c:438 |
Medium |
V547 |
Expression 'NULL == cpv->v.v' is always false. |
| General Analysis |
mod_cgi.c:270/data/src/lighttpd/src/mod_cgi.c:270 |
Medium |
V1115 |
The 'mod_cgi_str_to_signal' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_cgi.c:448/data/src/lighttpd/src/mod_cgi.c:448 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 413, 448. |
| General Analysis |
mod_cgi.c:449/data/src/lighttpd/src/mod_cgi.c:449 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 413, 449. |
| General Analysis |
mod_cgi.c:720/data/src/lighttpd/src/mod_cgi.c:720 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis |
mod_cgi.c:930/data/src/lighttpd/src/mod_cgi.c:930 |
Low |
V656 |
Variables 'env->b', 'env->boffsets' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'chunk_buffer_acquire()' expression. Check lines: 929, 930. |
| General Analysis |
mod_cgi.c:1078/data/src/lighttpd/src/mod_cgi.c:1078 |
Low |
V1095 |
Usage of potentially invalid handle. The value should be non-negative. Check the first argument. |
| General Analysis |
mod_deflate.c:1911/data/src/lighttpd/src/mod_deflate.c:1911 |
Medium |
V784 |
The size of the bit mask is less than the size of the first operand. This will cause the loss of higher bits. |
| General Analysis |
mod_deflate.c:920/data/src/lighttpd/src/mod_deflate.c:920 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 782, 920. |
| General Analysis |
mod_deflate.c:921/data/src/lighttpd/src/mod_deflate.c:921 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 782, 921. |
| General Analysis |
mod_deflate.c:2051/data/src/lighttpd/src/mod_deflate.c:2051 |
Low |
V1004 |
The 'vb' pointer was used unsafely after it was verified against nullptr. Check lines: 2048, 2051. |
| General Analysis |
mod_deflate.c:2242/data/src/lighttpd/src/mod_deflate.c:2242 |
Low |
V1004 |
The 'tb' pointer was used unsafely after it was verified against nullptr. Check lines: 2170, 2242. |
| General Analysis |
mod_dirlisting.c:492/data/src/lighttpd/src/mod_dirlisting.c:492 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 492, 524 |
| General Analysis |
mod_dirlisting.c:1531/data/src/lighttpd/src/mod_dirlisting.c:1531 |
Medium |
V1086 |
A call of the 'memcmp' function will lead to underflow of the buffer '"json"'. |
| General Analysis |
mod_dirlisting.c:562/data/src/lighttpd/src/mod_dirlisting.c:562 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 476, 562. |
| General Analysis |
mod_dirlisting.c:563/data/src/lighttpd/src/mod_dirlisting.c:563 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 476, 563. |
| General Analysis |
mod_evhost.c:250/data/src/lighttpd/src/mod_evhost.c:250 |
Medium |
V560 |
A part of conditional expression is always true: ptr[- 1] != ']'. |
| General Analysis |
mod_evhost.c:248/data/src/lighttpd/src/mod_evhost.c:248 |
Medium |
V1048 |
The 'colon' variable was assigned the same value. |
| General Analysis |
mod_evhost.c:306/data/src/lighttpd/src/mod_evhost.c:306 |
Low |
V522 |
Dereferencing of the null pointer 'path_pieces' might take place. The potential null pointer is passed into 'mod_evhost_build_doc_root_path' function. Inspect the fourth argument. Check lines: 'mod_evhost.c:306', 'test_mod_evhost.c:20'. |
| General Analysis |
mod_evhost.c:221/data/src/lighttpd/src/mod_evhost.c:221 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 199, 221. |
| General Analysis |
mod_evhost.c:222/data/src/lighttpd/src/mod_evhost.c:222 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 199, 222. |
| General Analysis |
mod_expire.c:228/data/src/lighttpd/src/mod_expire.c:228 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 170, 228. |
| General Analysis |
mod_expire.c:229/data/src/lighttpd/src/mod_expire.c:229 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 170, 229. |
| General Analysis |
mod_extforward.c:1729/data/src/lighttpd/src/mod_extforward.c:1729 |
Medium |
V1048 |
The 'rc' variable was assigned the same value. |
| General Analysis |
mod_extforward.c:443/data/src/lighttpd/src/mod_extforward.c:443 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 399, 443. |
| General Analysis |
mod_extforward.c:444/data/src/lighttpd/src/mod_extforward.c:444 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 399, 444. |
| General Analysis |
mod_fastcgi.c:200/data/src/lighttpd/src/mod_fastcgi.c:200 |
Medium |
V614 |
Potentially uninitialized buffer 'len_enc' used. Consider checking the second actual argument of the 'buffer_append_str3' function. |
| General Analysis |
mod_fastcgi.c:160/data/src/lighttpd/src/mod_fastcgi.c:160 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 130, 160. |
| General Analysis |
mod_fastcgi.c:161/data/src/lighttpd/src/mod_fastcgi.c:161 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 130, 161. |
| General Analysis |
mod_fastcgi.c:197/data/src/lighttpd/src/mod_fastcgi.c:197 |
Low |
V658 |
A value is being subtracted from the unsigned variable. This can result in an overflow. In such a case, the '>' comparison operation can potentially behave unexpectedly. Consider inspecting the 'len > fmax - buffer_clen(env)' expression. |
| General Analysis |
mod_proxy.c:394/data/src/lighttpd/src/mod_proxy.c:394 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 334, 394. |
| General Analysis |
mod_proxy.c:395/data/src/lighttpd/src/mod_proxy.c:395 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 334, 395. |
| General Analysis |
mod_proxy.c:749/data/src/lighttpd/src/mod_proxy.c:749 |
Low |
V1027 |
Pointer to an object of the 'sock_addr' class is cast to unrelated 'sockaddr' class. |
| General Analysis |
mod_proxy.c:984/data/src/lighttpd/src/mod_proxy.c:984 |
Low |
V1037 |
Two or more case-branches perform the same actions. Check lines: 984, 1014 |
| General Analysis |
mod_redirect.c:175/data/src/lighttpd/src/mod_redirect.c:175 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 156, 175. |
| General Analysis |
mod_redirect.c:176/data/src/lighttpd/src/mod_redirect.c:176 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 156, 176. |
| General Analysis |
mod_rewrite.c:276/data/src/lighttpd/src/mod_rewrite.c:276 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 195, 276. |
| General Analysis |
mod_rewrite.c:277/data/src/lighttpd/src/mod_rewrite.c:277 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 195, 277. |
| General Analysis |
mod_rrdtool.c:234/data/src/lighttpd/src/mod_rrdtool.c:234 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 211, 234. |
| General Analysis |
mod_rrdtool.c:235/data/src/lighttpd/src/mod_rrdtool.c:235 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 211, 235. |
| General Analysis |
mod_scgi.c:169/data/src/lighttpd/src/mod_scgi.c:169 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 126, 169. |
| General Analysis |
mod_scgi.c:170/data/src/lighttpd/src/mod_scgi.c:170 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 126, 170. |
| General Analysis |
mod_scgi.c:190/data/src/lighttpd/src/mod_scgi.c:190 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis |
mod_scgi.c:208/data/src/lighttpd/src/mod_scgi.c:208 |
Low |
V575 |
The potential null pointer is passed into 'memcpy' function. Inspect the second argument. |
| General Analysis |
mod_setenv.c:190/data/src/lighttpd/src/mod_setenv.c:190 |
Medium |
V1037 |
Two or more case-branches perform the same actions. Check lines: 190, 196 |
| General Analysis |
mod_setenv.c:207/data/src/lighttpd/src/mod_setenv.c:207 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 185, 207. |
| General Analysis |
mod_setenv.c:208/data/src/lighttpd/src/mod_setenv.c:208 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 185, 208. |
| General Analysis |
mod_simple_vhost.c:146/data/src/lighttpd/src/mod_simple_vhost.c:146 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 121, 146. |
| General Analysis |
mod_simple_vhost.c:147/data/src/lighttpd/src/mod_simple_vhost.c:147 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 121, 147. |
| General Analysis |
mod_sockproxy.c:153/data/src/lighttpd/src/mod_sockproxy.c:153 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 119, 153. |
| General Analysis |
mod_sockproxy.c:154/data/src/lighttpd/src/mod_sockproxy.c:154 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 119, 154. |
| General Analysis |
mod_ssi.c:408/data/src/lighttpd/src/mod_ssi.c:408 |
High |
V781 |
The value of the 'i' index is checked after it was used. Perhaps there is a mistake in program logic. |
| General Analysis |
mod_ssi.c:1308/data/src/lighttpd/src/mod_ssi.c:1308 |
Medium |
V1048 |
The 'p->if_is_false_level' variable was assigned the same value. |
| General Analysis |
mod_ssi.c:263/data/src/lighttpd/src/mod_ssi.c:263 |
Medium |
V1115 |
The 'ssi_val_to_bool' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_ssi.c:268/data/src/lighttpd/src/mod_ssi.c:268 |
Medium |
V1115 |
The 'ssi_eval_expr_cmp' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_ssi.c:285/data/src/lighttpd/src/mod_ssi.c:285 |
Medium |
V1115 |
The 'ssi_eval_expr_cmp_bool' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_ssi.c:1339/data/src/lighttpd/src/mod_ssi.c:1339 |
Medium |
V1115 |
The 'mod_ssi_parse_ssi_stmt_value' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_ssi.c:931/data/src/lighttpd/src/mod_ssi.c:931 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'virt_path'. |
| General Analysis |
mod_ssi.c:222/data/src/lighttpd/src/mod_ssi.c:222 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 200, 222. |
| General Analysis |
mod_ssi.c:223/data/src/lighttpd/src/mod_ssi.c:223 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 200, 223. |
| General Analysis |
mod_ssi.c:1510/data/src/lighttpd/src/mod_ssi.c:1510 |
Low |
V793 |
It is odd that the result of the 'prelen - pretag' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis |
mod_ssi.c:1542/data/src/lighttpd/src/mod_ssi.c:1542 |
Low |
V793 |
It is odd that the result of the 'prelen - pretag' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis |
mod_ssi.c:1572/data/src/lighttpd/src/mod_ssi.c:1572 |
Low |
V793 |
It is odd that the result of the 'offset - pretag' statement is a part of the condition. Perhaps, this statement should have been compared with something else. |
| General Analysis |
mod_status.c:152/data/src/lighttpd/src/mod_status.c:152 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 132, 152. |
| General Analysis |
mod_status.c:153/data/src/lighttpd/src/mod_status.c:153 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 132, 153. |
| General Analysis |
mod_userdir.c:171/data/src/lighttpd/src/mod_userdir.c:171 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 145, 171. |
| General Analysis |
mod_userdir.c:172/data/src/lighttpd/src/mod_userdir.c:172 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 145, 172. |
| General Analysis |
mod_userdir.c:239/data/src/lighttpd/src/mod_userdir.c:239 |
Low |
V1008 |
Consider inspecting the 'for' operator. No more than one iteration of the loop will be performed. |
| General Analysis |
mod_vhostdb.c:257/data/src/lighttpd/src/mod_vhostdb.c:257 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 231, 257. |
| General Analysis |
mod_vhostdb.c:258/data/src/lighttpd/src/mod_vhostdb.c:258 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 231, 258. |
| General Analysis |
mod_webdav.c:4383/data/src/lighttpd/src/mod_webdav.c:4383 |
Medium |
V560 |
A part of conditional expression is always true: !pb.propname. |
| General Analysis |
mod_webdav.c:4383/data/src/lighttpd/src/mod_webdav.c:4383 |
Medium |
V560 |
A part of conditional expression is always true: NULL == pb.proplist.ptr. |
| General Analysis |
mod_webdav.c:906/data/src/lighttpd/src/mod_webdav.c:906 |
Medium |
V666 |
Consider inspecting seventh argument of the function 'buffer_append_str3'. It is possible that the value does not correspond with the length of a string which was passed with the second argument. |
| General Analysis |
mod_webdav.c:2453/data/src/lighttpd/src/mod_webdav.c:2453 |
Medium |
V1115 |
The 'webdav_parse_Depth' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
mod_webdav.c:3008/data/src/lighttpd/src/mod_webdav.c:3008 |
Medium |
V1118 |
Excessive file permissions can lead to vulnerabilities. Consider restricting file permissions. |
| General Analysis |
mod_webdav.c:3058/data/src/lighttpd/src/mod_webdav.c:3058 |
Medium |
V1118 |
Excessive file permissions can lead to vulnerabilities. Consider restricting file permissions. |
| General Analysis |
mod_webdav.c:6192/data/src/lighttpd/src/mod_webdav.c:6192 |
Low |
V506 |
Pointer to local variable 'pconf' is stored outside the scope of this variable. Such a pointer will become invalid. |
| General Analysis |
mod_webdav.c:591/data/src/lighttpd/src/mod_webdav.c:591 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 532, 591. |
| General Analysis |
mod_webdav.c:592/data/src/lighttpd/src/mod_webdav.c:592 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 532, 592. |
| General Analysis |
mod_webdav.c:5440/data/src/lighttpd/src/mod_webdav.c:5440 |
Low |
V656 |
Variables 'dst_path', 'dst_rel_path' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'chunk_buffer_acquire()' expression. Check lines: 5439, 5440. |
| General Analysis |
mod_wstunnel.c:369/data/src/lighttpd/src/mod_wstunnel.c:369 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 306, 369. |
| General Analysis |
mod_wstunnel.c:370/data/src/lighttpd/src/mod_wstunnel.c:370 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 306, 370. |
| General Analysis |
mod_wstunnel.c:1378/data/src/lighttpd/src/mod_wstunnel.c:1378 |
Low |
V576 |
Incorrect format. Consider checking the sixth actual argument of the 'log_debug' function. The UNSIGNED integer type argument is expected. |
| General Analysis |
network.c:188/data/src/lighttpd/src/network.c:188 |
Medium |
V560 |
A part of conditional expression is always true: (hi = hex2int(s[2])) != 0xFF. |
| General Analysis |
network.c:189/data/src/lighttpd/src/network.c:189 |
Medium |
V560 |
A part of conditional expression is always true: (lo = hex2int(s[3])) != 0xFF. |
| General Analysis |
network.c:814/data/src/lighttpd/src/network.c:814 |
Medium |
V1004 |
The 'listen_pid' pointer was used unsafely after it was verified against nullptr. Check lines: 809, 814. |
| General Analysis |
network.c:207/data/src/lighttpd/src/network.c:207 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer 'addr'. |
| General Analysis |
network.c:470/data/src/lighttpd/src/network.c:470 |
Medium |
V1103 |
The values of padding bytes are unspecified. Comparing objects with padding using 'memcmp' may lead to unexpected result. |
| General Analysis |
network.c:370/data/src/lighttpd/src/network.c:370 |
Medium |
V1115 |
The 'network_srv_token_colon' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
network.c:878/data/src/lighttpd/src/network.c:878 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 878, 927. |
| General Analysis |
network.c:879/data/src/lighttpd/src/network.c:879 |
Low |
V574 |
The 'p->cvlist' pointer is used simultaneously as an array and as a pointer to single object. Check lines: 879, 927. |
| General Analysis |
plugin.c:542/data/src/lighttpd/src/plugin.c:542 |
Low |
V566 |
The integer constant is converted to pointer. Possibly an error or a bad coding style: (pl_cb_t)(uintptr_t) 1 |
| General Analysis |
plugin.c:244/data/src/lighttpd/src/plugin.c:244 |
Low |
V576 |
Incorrect format. Consider checking the sixth actual argument of the 'log_error' function. Under certain conditions the pointer can be null. |
| General Analysis |
request.c:1213/data/src/lighttpd/src/request.c:1213 |
High |
V654 |
The condition 'colon[- 1] == ' ' || colon[- 1] == '\t'' of loop is always true. |
| General Analysis |
request.c:1213/data/src/lighttpd/src/request.c:1213 |
Medium |
V560 |
A part of conditional expression is always true: colon[- 1] == '\t'. |
| General Analysis |
request.c:325/data/src/lighttpd/src/request.c:325 |
Medium |
V1071 |
Consider inspecting the 'http_request_header_line_invalid' function. The return value is not always used. Total calls: 54, discarded results: 2. |
| General Analysis |
request.c:51/data/src/lighttpd/src/request.c:51 |
Medium |
V1115 |
The 'http_request_state_short' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:64/data/src/lighttpd/src/request.c:64 |
Medium |
V1115 |
The 'http_request_check_uri_strict' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:76/data/src/lighttpd/src/request.c:76 |
Medium |
V1115 |
The 'http_request_check_line_strict' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:99/data/src/lighttpd/src/request.c:99 |
Medium |
V1115 |
The 'http_request_field_check_value' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:1111/data/src/lighttpd/src/request.c:1111 |
Medium |
V1115 |
The 'http_request_parse_header_other' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:1153/data/src/lighttpd/src/request.c:1153 |
Medium |
V1115 |
The 'http_request_field_check_name' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:1164/data/src/lighttpd/src/request.c:1164 |
Medium |
V1115 |
The 'http_request_field_check_name_h2' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:1467/data/src/lighttpd/src/request.c:1467 |
Medium |
V1115 |
The 'http_request_trailer_check_whitelist' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
request.c:699/data/src/lighttpd/src/request.c:699 |
Low |
V1019 |
Compound assignment expression 'hpctx->hlen += klen + vlen + 4' is used inside condition. |
| General Analysis |
server.c:2119/data/src/lighttpd/src/server.c:2119 |
High |
V567 |
There should be no more than one read access with volatile-qualified type between sequence points. |
| General Analysis |
server.c:2384/data/src/lighttpd/src/server.c:2384 |
High |
V567 |
There should be no more than one read access with volatile-qualified type between sequence points. |
| General Analysis |
server.c:675/data/src/lighttpd/src/server.c:675 |
High |
V595 |
The 'oneshot_fdn' pointer was utilized before it was verified against nullptr. Check lines: 675, 682. |
| General Analysis |
server.c:755/data/src/lighttpd/src/server.c:755 |
Medium |
V560 |
A part of conditional expression is always false: NULL == ncat_local_addr. |
| General Analysis |
server.c:819/data/src/lighttpd/src/server.c:819 |
Low |
V1027 |
Pointer to an object of the 'sock_addr' class is cast to unrelated 'sockaddr' class. |
| General Analysis |
server.c:831/data/src/lighttpd/src/server.c:831 |
Low |
V1027 |
Pointer to an object of the 'sock_addr' class is cast to unrelated 'sockaddr' class. |
| General Analysis |
sock_addr.c:654/data/src/lighttpd/src/sock_addr.c:654 |
High |
V512 |
A call of the 'memcpy' function will lead to the 'addrlist->ai_addr' buffer becoming out of range. |
| General Analysis |
sock_addr.c:408/data/src/lighttpd/src/sock_addr.c:408 |
Medium |
V641 |
The size of the '& saddr->ipv6' buffer is not a multiple of the element size of the type 'const struct sockaddr'. |
| General Analysis |
sock_addr.c:439/data/src/lighttpd/src/sock_addr.c:439 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer 'saddr'. |
| General Analysis |
sock_addr.c:478/data/src/lighttpd/src/sock_addr.c:478 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer 'saddr'. |
| General Analysis |
sock_addr.c:526/data/src/lighttpd/src/sock_addr.c:526 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer 'saddr'. |
| General Analysis |
sock_addr.c:581/data/src/lighttpd/src/sock_addr.c:581 |
Medium |
V1086 |
A call of the 'memset' function will lead to underflow of the buffer 'saddr'. |
| General Analysis |
stat_cache.c:731/data/src/lighttpd/src/stat_cache.c:731 |
High |
V562 |
It's odd to compare 0 or 1 with a value of 0. |
| General Analysis |
stat_cache.c:749/data/src/lighttpd/src/stat_cache.c:749 |
High |
V562 |
It's odd to compare 0 or 1 with a value of 0. |
| General Analysis |
stat_cache.c:1091/data/src/lighttpd/src/stat_cache.c:1091 |
Medium |
V1115 |
The 'stat_cache_stat_eq' function annotated with the 'pure' attribute has side effects. |
| General Analysis |
stat_cache.c:1374/data/src/lighttpd/src/stat_cache.c:1374 |
Low |
V522 |
There might be dereferencing of a potential null pointer 'sce'. |
| General Analysis |
test_array.c:17/data/src/lighttpd/src/t/test_array.c:17 |
Low |
V547 |
Expression 'NULL != i' is always true. |
| General Analysis |
test_array.c:20/data/src/lighttpd/src/t/test_array.c:20 |
Low |
V547 |
Expression 'NULL != i' is always true. |
| General Analysis |
test_buffer.c:12/data/src/lighttpd/src/t/test_buffer.c:12 |
High |
V763 |
Parameter 'pdest' is always rewritten in function body before being used. |
| General Analysis |
test_burl.c:30/data/src/lighttpd/src/t/test_burl.c:30 |
Low |
V656 |
Variables 'psrc', 'ptmp' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'buffer_init()' expression. Check lines: 29, 30. |
| General Analysis |
test_configfile.c:54/data/src/lighttpd/src/t/test_configfile.c:54 |
Low |
V656 |
Variables 'b', 'tb' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'buffer_init()' expression. Check lines: 53, 54. |
| General Analysis |
test_http_header.c:103/data/src/lighttpd/src/t/test_http_header.c:103 |
Medium |
V557 |
Array overrun is possible. The value of '(uint8_t) x' index could reach 255. |
| General Analysis |
test_http_range.c:47/data/src/lighttpd/src/t/test_http_range.c:47 |
Medium |
V1048 |
The 'content_length' variable was assigned the same value. |
| General Analysis |
test_http_range.c:56/data/src/lighttpd/src/t/test_http_range.c:56 |
Medium |
V1048 |
The 'content_length' variable was assigned the same value. |
| General Analysis |
test_http_range.c:62/data/src/lighttpd/src/t/test_http_range.c:62 |
Medium |
V1048 |
The 'content_length' variable was assigned the same value. |
| General Analysis |
test_http_range.c:74/data/src/lighttpd/src/t/test_http_range.c:74 |
Medium |
V1048 |
The 'content_length' variable was assigned the same value. |
| General Analysis |
test_mod_access.c:12/data/src/lighttpd/src/t/test_mod_access.c:12 |
Low |
V656 |
Variables 'allow', 'deny' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'array_init(0)' expression. Check lines: 11, 12. |
| General Analysis |
test_mod_evhost.c:28/data/src/lighttpd/src/t/test_mod_evhost.c:28 |
Low |
V656 |
Variables 'authority', 'b' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'buffer_init()' expression. Check lines: 27, 28. |
| General Analysis |
test_mod_ssi.c:27/data/src/lighttpd/src/t/test_mod_ssi.c:27 |
High |
V501 |
There are identical sub-expressions '0 != lseek(fd, 0, 0)' to the left and to the right of the '||' operator. |
| General Analysis |
test_mod_ssi.c:169/data/src/lighttpd/src/t/test_mod_ssi.c:169 |
Low |
V547 |
Expression 'NULL != p' is always true. |
| General Analysis |
test_mod_ssi.c:183/data/src/lighttpd/src/t/test_mod_ssi.c:183 |
Low |
V547 |
Expression 'NULL != hctx' is always true. |
| General Analysis |
test_mod_userdir.c:102/data/src/lighttpd/src/t/test_mod_userdir.c:102 |
Medium |
V656 |
Variables 'include_user', 'exclude_user' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'array_init(2)' expression. Check lines: 101, 102. |
| General Analysis |
test_mod_userdir.c:160/data/src/lighttpd/src/t/test_mod_userdir.c:160 |
Low |
V547 |
Expression 'NULL != p' is always true. |
| General Analysis |
test_mod_userdir.c:163/data/src/lighttpd/src/t/test_mod_userdir.c:163 |
Low |
V656 |
Variables 'basepath', 'path' are initialized through the call to the same function. It's probably an error or un-optimized code. Consider inspecting the 'buffer_init()' expression. Check lines: 162, 163. |
| General Analysis |
fcgi-responder.c:249/data/src/lighttpd/tests/fcgi-responder.c:249 |
Medium |
V560 |
A part of conditional expression is always true: cdata. |
| General Analysis |
fcgi-responder.c:329/data/src/lighttpd/tests/fcgi-responder.c:329 |
Low |
V1037 |
Two or more case-branches perform the same actions. Check lines: 329, 331 |
| General Analysis |
fcgi-responder.c:55/data/src/lighttpd/tests/fcgi-responder.c:55 |
Low |
V1059 |
The 'fwrite' macro name overrides a reserved name from C standard. This may lead to undefined behavior. |
| General Analysis |
fcgi-responder.c:58/data/src/lighttpd/tests/fcgi-responder.c:58 |
Low |
V1059 |
The 'fflush' macro name overrides a reserved name from C standard. This may lead to undefined behavior. |
| General Analysis |
scgi-responder.c:252/data/src/lighttpd/tests/scgi-responder.c:252 |
Medium |
V547 |
Expression 'cdata' is always true. |
| General Analysis |
configparser.c:1353/data/work/lighttpd/build/build/configparser.c:1353 |
Low |
V779 |
Unreachable code detected. It is possible that an error is present. |
| General Analysis |
configparser.c:2176/data/work/lighttpd/build/build/configparser.c:2176 |
Low |
V1048 |
The 'yypParser->ctx' variable was assigned the same value. |
| General Analysis |
configparser.c:2201/data/work/lighttpd/build/build/configparser.c:2201 |
Low |
V1048 |
The 'yypParser->ctx' variable was assigned the same value. |