{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:31:56.774063Z","repo":{"ref":{"host":"github.com","owner":"huangzworks","name":"annotated_redis_source"},"default_branch":"unstable","clone_url":"https://github.com/huangzworks/annotated_redis_source.git","html_url":"https://github.com/huangzworks/annotated_redis_source","description":"带有详细注释的 Redis 2.6 源码","stars":2314,"forks":1026,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":8295,"primary_language":"C","license_spdx":"BSD-3-Clause","created_at":"2013-03-05T08:05:08Z","pushed_at":"2020-01-01T10:05:33Z","security_policy_url":null,"distribution":{"owner_created_at":"2010-12-26T11:34:35Z","owner_type":"User","release_assets":[]}},"commit_sha":"67758fdfe196d96ddc8a83784fa48f22226a3818","profile":{"lines_by_language":{"C":90793,"Ruby":735,"Lua":525,"Shell":250,"C++":9},"files_by_category":{"source":231,"other":116,"test":29,"docs":9,"config":6,"binary":6,"generated":1},"source_lines":90705,"test_lines":1607},"pillars":{"ai_provenance":{"score":0.0,"confidence":0.65,"coverage":1.0,"label":"none-detected","breakdown":{"attributed_share":0.0,"suspected_share":0.0,"estimated_share":0.0,"ai_artifacts":0.0,"flagged_work_units":0.0,"flagged_releases":null},"summary":"No AI attribution or AI-consistent velocity signals detected."},"quality":{"score":53.1,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":46.4,"duplication":65.7,"lint":84.5,"testing":21.4,"docs":80.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.02, no CI test run detected; 26% of function code in complex or long functions; 7% duplicated lines. Weakest area: testing."},"security":{"score":73.8,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":96.7,"sast":82.1,"dependencies":null,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: 9 high-severity SAST findings. Weakest area: posture."}},"analyzer_results":[{"analyzer":"sec-scorecard","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no published OpenSSF Scorecard result for this repo"},{"analyzer":"sec-registry","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":"no registry dependencies declared"},{"analyzer":"ai-attribution","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"commits":2785.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":153257.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2009-03":{"loc":11161,"attributed_loc":0},"2009-04":{"loc":2327,"attributed_loc":0},"2009-05":{"loc":4463,"attributed_loc":0},"2009-06":{"loc":2034,"attributed_loc":0},"2009-07":{"loc":115,"attributed_loc":0},"2009-08":{"loc":0,"attributed_loc":0},"2009-09":{"loc":2009,"attributed_loc":0},"2009-10":{"loc":1364,"attributed_loc":0},"2009-11":{"loc":2218,"attributed_loc":0},"2009-12":{"loc":583,"attributed_loc":0},"2010-01":{"loc":2477,"attributed_loc":0},"2010-02":{"loc":679,"attributed_loc":0},"2010-03":{"loc":4172,"attributed_loc":0},"2010-04":{"loc":2042,"attributed_loc":0},"2010-05":{"loc":4451,"attributed_loc":0},"2010-06":{"loc":13617,"attributed_loc":0},"2010-07":{"loc":344,"attributed_loc":0},"2010-08":{"loc":1414,"attributed_loc":0},"2010-09":{"loc":1067,"attributed_loc":0},"2010-10":{"loc":1141,"attributed_loc":0},"2010-11":{"loc":6774,"attributed_loc":0},"2010-12":{"loc":3659,"attributed_loc":0},"2011-01":{"loc":1728,"attributed_loc":0},"2011-02":{"loc":299,"attributed_loc":0},"2011-03":{"loc":3896,"attributed_loc":0},"2011-04":{"loc":20278,"attributed_loc":0},"2011-05":{"loc":18637,"attributed_loc":0},"2011-06":{"loc":638,"attributed_loc":0},"2011-07":{"loc":183,"attributed_loc":0},"2011-08":{"loc":173,"attributed_loc":0},"2011-09":{"loc":1154,"attributed_loc":0},"2011-10":{"loc":2771,"attributed_loc":0},"2011-11":{"loc":1534,"attributed_loc":0},"2011-12":{"loc":1147,"attributed_loc":0},"2012-01":{"loc":1650,"attributed_loc":0},"2012-02":{"loc":3333,"attributed_loc":0},"2012-03":{"loc":1651,"attributed_loc":0},"2012-04":{"loc":1288,"attributed_loc":0},"2012-05":{"loc":9072,"attributed_loc":0},"2012-06":{"loc":237,"attributed_loc":0},"2012-07":{"loc":3202,"attributed_loc":0},"2012-08":{"loc":521,"attributed_loc":0},"2012-09":{"loc":514,"attributed_loc":0},"2012-10":{"loc":308,"attributed_loc":0},"2012-11":{"loc":3397,"attributed_loc":0},"2012-12":{"loc":2636,"attributed_loc":0},"2013-01":{"loc":3643,"attributed_loc":0},"2013-02":{"loc":887,"attributed_loc":0},"2013-03":{"loc":209,"attributed_loc":0},"2013-04":{"loc":124,"attributed_loc":0},"2013-05":{"loc":6,"attributed_loc":0},"2013-06":{"loc":13,"attributed_loc":0},"2013-08":{"loc":1,"attributed_loc":0},"2013-09":{"loc":3,"attributed_loc":0},"2013-10":{"loc":2,"attributed_loc":0},"2013-11":{"loc":8,"attributed_loc":0},"2014-03":{"loc":1,"attributed_loc":0},"2014-05":{"loc":1,"attributed_loc":0},"2015-06":{"loc":0,"attributed_loc":0},"2016-12":{"loc":1,"attributed_loc":0}}},"error":null},{"analyzer":"ai-artifacts","pillar":"ai_provenance","status":"ok","tool_version":"signatures-v1","metrics":{"artifacts":0.0,"workflow_agents":0.0,"tools_configured":0.0},"findings":[],"evidence":[],"data":{"artifacts":[],"workflows":[],"tools":[]},"error":null},{"analyzer":"ai-velocity","pillar":"ai_provenance","status":"ok","tool_version":"prov-4","metrics":{"work_units":1465.0,"flagged_units":0.0,"pre_ai_era_bursts":2.0,"pre_ai_era_measured_loc":87140.0,"pre_ai_era_burst_loc":5680.0,"measured_loc":87140.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":750.2230634040827,"median_loc_per_hour":45.60221249845927,"pr_timed_units":0.0,"excluded_import_loc":65995.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":["21d3294c7013a4385aebd84436394bb58e273093","6b5daa2df2a0711a25746cb025927dc3deb7717e","a78e148b7d12a8c46b0a4686a9b0a3e8e054261c","ad4c0b4117ec15c0061b702f230caf1bc5eb4e06","e2641e09cc0daf44f63f654230f72d22acf3a9af","ed9b544e10b84cd43348ddfab7068b610a5df1f7"]},"error":null},{"analyzer":"ai-release-velocity","pillar":"ai_provenance","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"ai-stylometry","pillar":"ai_provenance","status":"ok","tool_version":null,"metrics":{"lines_scanned":90705.0,"index":0.077,"count:narrated_steps":7.0,"per_kloc:narrated_steps":0.077,"files:narrated_steps":5.0,"count:placeholder":0.0,"per_kloc:placeholder":0.0,"files:placeholder":0.0,"count:emoji_in_code":0.0,"per_kloc:emoji_in_code":0.0,"files:emoji_in_code":0.0,"count:assistant_voice":0.0,"per_kloc:assistant_voice":0.0,"files:assistant_voice":0.0},"findings":[],"evidence":[{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* Now we found a non empty bucket, but it is a linked","ref":"src/dict.c:879","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/dict.c#L879","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* Now we can use the hiredis to read the incoming protocol. */","ref":"src/redis-cli.c:973","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/redis-cli.c#L973","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* Now we subscribe to the Sentinels \"Hello\" channel. */","ref":"src/sentinel.c:1331","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/sentinel.c#L1331","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* First, try to see if we already have this sentinel. */","ref":"src/sentinel.c:1673","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/sentinel.c#L1673","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: * now we are in charge of actually sending the reconfiguration","ref":"src/sentinel.c:2515","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/sentinel.c#L2515","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* Now we need to protect sortval incrementing its count, in the future","ref":"src/sort.c:206","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/sort.c#L206","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: /* First, move the tail <empty> bytes to the front, then resize","ref":"src/zipmap.c:405","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/zipmap.c#L405","weight":0.0}],"data":{},"error":null},{"analyzer":"sec-secrets","pillar":"security","status":"ok","tool_version":"gitleaks 8.30.1","metrics":{"secrets_current":0.0,"secrets_history":0.0,"secrets_nonprod":1.0,"secrets_low_confidence":0.0},"findings":[{"rule_id":"gitleaks/generic-api-key","severity":"low","message":"Possible generic-api-key secret in history (commit aed57a31af); removed from the current tree but still retrievable","path":"doc/TwitterAlikeExample.html","line":100,"fingerprint":"aed57a31af3a2fdaf0b8175568442ade979c7530:doc/TwitterAlikeExample.html:generic-api-key:100"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":186.0,"findings_high":9.0,"findings_medium":177.0,"findings_low":0.0,"weighted_findings":51.0,"scanned_lines":90664.0,"parse_errors":80.0},"findings":[{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'curargv' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/hiredis.c","line":900,"fingerprint":"c.lang.security.double-free:deps/hiredis/hiredis.c:900"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":113,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:113"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":119,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:119"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":125,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:125"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":131,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:131"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":137,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:137"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":143,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:143"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":194,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:194"},{"rule_id":"opengrep/c.lang.security.double-free","severity":"high","message":"Variable 'cmd' was freed twice. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":200,"fingerprint":"c.lang.security.double-free:deps/hiredis/test.c:200"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'curargv' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/hiredis.c","line":899,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/hiredis.c:899"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/hiredis/net.c","line":214,"fingerprint":"c.lang.security.insecure-use-memset:deps/hiredis/net.c:214"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/hiredis/net.c","line":274,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/hiredis/net.c:274"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/hiredis/sds.c","line":57,"fingerprint":"c.lang.security.insecure-use-memset:deps/hiredis/sds.c:57"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/hiredis/sds.c","line":120,"fingerprint":"c.lang.security.insecure-use-memset:deps/hiredis/sds.c:120"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":110,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:110"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":111,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:111"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":111,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:111"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":116,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:116"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":117,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:117"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":117,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:117"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":122,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:122"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":123,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:123"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":123,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:123"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":128,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:128"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":129,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:129"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":129,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:129"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":134,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:134"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":135,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:135"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":135,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:135"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":140,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:140"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":141,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:141"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":141,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:141"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":151,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:151"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":152,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:152"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":152,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:152"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":160,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:160"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":161,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:161"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":161,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:161"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":180,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:180"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":191,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:191"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":192,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:192"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":192,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:192"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":197,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:197"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":198,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:198"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'cmd' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/hiredis/test.c","line":198,"fingerprint":"c.lang.security.function-use-after-free:deps/hiredis/test.c:198"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/rtree.h","line":147,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/rtree.h:147"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":314,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:314"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":322,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:322"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":366,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:366"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":368,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:368"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":372,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:372"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/include/jemalloc/internal/tcache.h","line":423,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/include/jemalloc/internal/tcache.h:423"},{"rule_id":"opengrep/bash.lang.security.ifs-tampering","severity":"medium","message":"The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS locally using e.g. 'IFS=\",\" read -a my_array'. [confidence low]","path":"deps/jemalloc/install-sh","line":167,"fingerprint":"bash.lang.security.ifs-tampering:deps/jemalloc/install-sh:167"},{"rule_id":"opengrep/bash.lang.security.ifs-tampering","severity":"medium","message":"The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS locally using e.g. 'IFS=\",\" read -a my_array'. [confidence low]","path":"deps/jemalloc/install-sh","line":171,"fingerprint":"bash.lang.security.ifs-tampering:deps/jemalloc/install-sh:171"},{"rule_id":"opengrep/bash.lang.security.ifs-tampering","severity":"medium","message":"The special variable IFS affects how splitting takes place when expanding unquoted variables. Don't set it globally. Prefer a dedicated utility such as 'cut' or 'awk' if you need to split input data. If you must use 'read', set IFS locally using e.g. 'IFS=\",\" read -a my_array'. [confidence low]","path":"deps/jemalloc/install-sh","line":173,"fingerprint":"bash.lang.security.ifs-tampering:deps/jemalloc/install-sh:173"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":448,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:448"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":468,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:468"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1389,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1389"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1391,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1391"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1394,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1394"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1428,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1428"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1474,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1474"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1482,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1482"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1516,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1516"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1518,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1518"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1573,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1573"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1575,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1575"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1772,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1772"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1903,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1903"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1917,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1917"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1929,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1929"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":1954,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:1954"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":2110,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:2110"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":2116,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:2116"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/arena.c","line":2145,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/arena.c:2145"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/base.c","line":76,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/base.c:76"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/bitmap.c","line":76,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/bitmap.c:76"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/chunk.c","line":127,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/chunk.c:127"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/chunk.c","line":335,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/chunk.c:335"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/chunk_dss.c","line":129,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/chunk_dss.c:129"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/ckh.c","line":421,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/ckh.c:421"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/huge.c","line":73,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/huge.c:73"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/huge.c","line":75,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/huge.c:75"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/huge.c","line":93,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/huge.c:93"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/huge.c","line":212,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/huge.c:212"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/jemalloc.c","line":730,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/jemalloc.c:730"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/jemalloc.c","line":811,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/jemalloc.c:811"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/prof.c","line":482,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/prof.c:482"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/prof.c","line":534,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/prof.c:534"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/prof.c","line":865,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/prof.c:865"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/quarantine.c","line":165,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/quarantine.c:165"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/rtree.c","line":20,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/rtree.c:20"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/jemalloc/src/rtree.c","line":43,"fingerprint":"c.lang.security.insecure-use-memset:deps/jemalloc/src/rtree.c:43"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/jemalloc/src/util.c","line":90,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/jemalloc/src/util.c:90"},{"rule_id":"opengrep/c.lang.security.function-use-after-free","severity":"medium","message":"Variable 'history[history_len-1-history_index]' was passed to a function after being freed. This can lead to undefined behavior. [confidence low]","path":"deps/linenoise/linenoise.c","line":409,"fingerprint":"c.lang.security.function-use-after-free:deps/linenoise/linenoise.c:409"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/linenoise/linenoise.c","line":409,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/linenoise/linenoise.c:409"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"deps/linenoise/linenoise.c","line":558,"fingerprint":"c.lang.security.insecure-use-memset:deps/linenoise/linenoise.c:558"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lobject.c","line":184,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lobject.c:184"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lobject.c","line":193,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lobject.c:193"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":196,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:196"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":198,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:198"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lobject.c","line":204,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lobject.c:204"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":206,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:206"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":207,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:207"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":210,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:210"},{"rule_id":"opengrep/c.lang.security.insecure-use-strcat-fn","severity":"medium","message":"Finding triggers whenever there is a strcat or strncat used. This is an issue because strcat or strncat can lead to buffer overflow vulns. Fix this by using strcat_s instead. [confidence low]","path":"deps/lua/src/lobject.c","line":211,"fingerprint":"c.lang.security.insecure-use-strcat-fn:deps/lua/src/lobject.c:211"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lstrlib.c","line":740,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lstrlib.c:740"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lstrlib.c","line":750,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lstrlib.c:750"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":430,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:430"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":431,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:431"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":432,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:432"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":433,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:433"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":434,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:434"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":435,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:435"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"deps/lua/src/lua_cjson.c","line":436,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/lua/src/lua_cjson.c:436"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ae.c","line":527,"fingerprint":"c.lang.security.insecure-use-memset:src/ae.c:527"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":124,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:124"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":202,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:202"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/anet.c","line":285,"fingerprint":"c.lang.security.insecure-use-memset:src/anet.c:285"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/anet.c","line":307,"fingerprint":"c.lang.security.insecure-use-memset:src/anet.c:307"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":309,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:309"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":341,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:341"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":366,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:366"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/anet.c","line":381,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/anet.c:381"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":219,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:219"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":221,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:221"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":223,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:223"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":327,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:327"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/cluster.c","line":507,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/cluster.c:507"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":827,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:827"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":832,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:832"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":839,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:839"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/cluster.c","line":1284,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/cluster.c:1284"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/cluster.c","line":1304,"fingerprint":"c.lang.security.insecure-use-memset:src/cluster.c:1304"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/debug.c","line":115,"fingerprint":"c.lang.security.insecure-use-memset:src/debug.c:115"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/debug.c","line":134,"fingerprint":"c.lang.security.insecure-use-memset:src/debug.c:134"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/debug.c","line":186,"fingerprint":"c.lang.security.insecure-use-memset:src/debug.c:186"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/debug.c","line":209,"fingerprint":"c.lang.security.insecure-use-memset:src/debug.c:209"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/debug.c","line":226,"fingerprint":"c.lang.security.insecure-use-memset:src/debug.c:226"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/lzf_c.c","line":135,"fingerprint":"c.lang.security.insecure-use-memset:src/lzf_c.c:135"},{"rule_id":"opengrep/c.lang.security.insecure-use-printf-fn","severity":"medium","message":"Avoid using user-controlled format strings passed into 'sprintf', 'printf' and 'vsprintf'. These functions put you at risk of buffer overflow vulnerabilities through the use of format string exploits. Instead, use 'snprintf' and 'vsnprintf'. [confidence low]","path":"src/redis-check-aof.c","line":246,"fingerprint":"c.lang.security.insecure-use-printf-fn:src/redis-check-aof.c:246"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-check-dump.c","line":546,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-check-dump.c:546"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-check-dump.c","line":547,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-check-dump.c:547"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-check-dump.c","line":549,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-check-dump.c:549"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-check-dump.c","line":550,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-check-dump.c:550"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/redis-check-dump.c","line":580,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/redis-check-dump.c:580"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-check-dump.c","line":584,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-check-dump.c:584"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis-cli.c","line":386,"fingerprint":"c.lang.security.insecure-use-memset:src/redis-cli.c:386"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis.c","line":1616,"fingerprint":"c.lang.security.insecure-use-memset:src/redis.c:1616"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis.c","line":2170,"fingerprint":"c.lang.security.insecure-use-memset:src/redis.c:2170"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/redis.c","line":2171,"fingerprint":"c.lang.security.insecure-use-memset:src/redis.c:2171"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/sds.c","line":319,"fingerprint":"c.lang.security.insecure-use-memset:src/sds.c:319"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/sha1.c","line":112,"fingerprint":"c.lang.security.insecure-use-memset:src/sha1.c:112"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/sha1.c","line":198,"fingerprint":"c.lang.security.insecure-use-memset:src/sha1.c:198"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/sha1.c","line":199,"fingerprint":"c.lang.security.insecure-use-memset:src/sha1.c:199"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/t_zset.c","line":1844,"fingerprint":"c.lang.security.insecure-use-memset:src/t_zset.c:1844"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/t_zset.c","line":2202,"fingerprint":"c.lang.security.insecure-use-memset:src/t_zset.c:2202"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":435,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:435"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":439,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:439"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":443,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:443"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":447,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:447"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":450,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:450"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":454,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:454"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":458,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:458"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":462,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:462"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":466,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:466"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":470,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:470"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":474,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:474"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":477,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:477"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":481,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:481"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":490,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:490"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":494,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:494"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":497,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:497"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":501,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:501"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":505,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:505"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":509,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:509"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":513,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:513"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":518,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:518"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":522,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:522"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":525,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:525"},{"rule_id":"opengrep/c.lang.security.insecure-use-string-copy-fn","severity":"medium","message":"Finding triggers whenever there is a strcpy or strncpy used. This is an issue because strcpy does not affirm the size of the destination array and strncpy will not automatically NULL-terminate strings. This can lead to buffer overflows, which can cause program crashes and potentially let an attacker [confidence low]","path":"src/util.c","line":529,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/util.c:529"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ziplist.c","line":1542,"fingerprint":"c.lang.security.insecure-use-memset:src/ziplist.c:1542"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ziplist.c","line":1545,"fingerprint":"c.lang.security.insecure-use-memset:src/ziplist.c:1545"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ziplist.c","line":1817,"fingerprint":"c.lang.security.insecure-use-memset:src/ziplist.c:1817"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ziplist.c","line":1818,"fingerprint":"c.lang.security.insecure-use-memset:src/ziplist.c:1818"},{"rule_id":"opengrep/c.lang.security.insecure-use-memset","severity":"medium","message":"When handling sensitive information in a buffer, it's important to ensure  that the data is securely erased before the buffer is deleted or reused.  While `memset()` is commonly used for this purpose, it can leave sensitive  information behind due to compiler optimizations or other factors.  To avoi [confidence low]","path":"src/ziplist.c","line":1840,"fingerprint":"c.lang.security.insecure-use-memset:src/ziplist.c:1840"}],"evidence":[],"data":{"rulesets":["c","ruby","bash"]},"error":null},{"analyzer":"sec-deps","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-actions","pillar":"security","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-posture","pillar":"security","status":"ok","tool_version":null,"metrics":{"check:security_policy":0.0,"check:dependency_updates":0.0,"check:signed_commits":0.0,"check:lockfiles":1.0,"signed_commit_share":0.0,"unpinned_manifests":0.0},"findings":[],"evidence":[],"data":{},"error":null},{"analyzer":"sec-distribution","pillar":"security","status":"ok","tool_version":null,"metrics":{"signals":0.0,"binary_assets":0.0,"suspicious":0.0},"findings":[],"evidence":[],"data":{"signals":[],"suspicious":false,"unusual_traction":false,"metadata":true},"error":null},{"analyzer":"qual-complexity","pillar":"quality","status":"ok","tool_version":"lizard 1.25.1","metrics":{"functions":2644.0,"function_nloc":47208.0,"mean_ccn":4.74,"p90_ccn":9.0,"complex_functions":117.0,"long_functions":46.0,"many_param_functions":1.0,"risky_nloc_share":0.2562},"findings":[],"evidence":[{"kind":"complex-function","description":"loadServerConfigFromString in src/config.c: complexity 168, 333 lines","ref":"src/config.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/config.c#L60","weight":1.0},{"kind":"complex-function","description":"configSetCommand in src/config.c: complexity 120, 240 lines","ref":"src/config.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/config.c#L462","weight":1.0},{"kind":"complex-function","description":"sortCommand in src/sort.c: complexity 88, 260 lines","ref":"src/sort.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/sort.c#L179","weight":1.0},{"kind":"complex-function","description":"luaV_execute in deps/lua/src/lvm.c: complexity 86, 386 lines","ref":"deps/lua/src/lvm.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/lua/src/lvm.c#L373","weight":1.0},{"kind":"complex-function","description":"malloc_conf_next in deps/jemalloc/src/jemalloc.c: complexity 72, 63 lines","ref":"deps/jemalloc/src/jemalloc.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/jemalloc/src/jemalloc.c#L291","weight":1.0},{"kind":"complex-function","description":"genRedisInfoString in src/redis.c: complexity 71, 322 lines","ref":"src/redis.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/redis.c#L2242","weight":1.0},{"kind":"complex-function","description":"clusterCommand in src/cluster.c: complexity 64, 191 lines","ref":"src/cluster.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/cluster.c#L1258","weight":1.0},{"kind":"complex-function","description":"linenoisePrompt in deps/linenoise/linenoise.c: complexity 63, 176 lines","ref":"deps/linenoise/linenoise.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/linenoise/linenoise.c#L290","weight":1.0},{"kind":"complex-function","description":"rdbLoadObject in src/rdb.c: complexity 63, 195 lines","ref":"src/rdb.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/rdb.c#L947","weight":1.0},{"kind":"complex-function","description":"main in src/ziplist.c: complexity 62, 390 lines","ref":"src/ziplist.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/src/ziplist.c#L1552","weight":1.0}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":65988.0,"duplicated_lines":4625.0,"duplicated_share":0.0701,"files":231.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/adapters/ae.h:8 and src/sentinel.c:222","ref":"deps/hiredis/adapters/ae.h","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/adapters/ae.h#L8","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/async.c:2 and deps/hiredis/async.h:2","ref":"deps/hiredis/async.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/async.c#L2","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/async.c:467 and deps/hiredis/async.c:489","ref":"deps/hiredis/async.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/async.c#L467","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/dict.c:1 and deps/hiredis/dict.h:1","ref":"deps/hiredis/dict.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/dict.c#L1","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/dict.c:42 and src/dict.c:61","ref":"deps/hiredis/dict.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/dict.c#L42","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/dict.h:29 and src/dict.h:29","ref":"deps/hiredis/dict.h","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/dict.h#L29","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/example-ae.c:12 and deps/hiredis/example-libev.c:9","ref":"deps/hiredis/example-ae.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/example-ae.c#L12","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/hiredis.c:709 and deps/hiredis/hiredis.c:861","ref":"deps/hiredis/hiredis.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/hiredis.c#L709","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/net.c:1 and deps/hiredis/net.h:1","ref":"deps/hiredis/net.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/net.c#L1","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/hiredis/sds.c:1 and deps/hiredis/sds.h:1","ref":"deps/hiredis/sds.c","url":"https://github.com/huangzworks/annotated_redis_source/blob/67758fdfe196d96ddc8a83784fa48f22226a3818/deps/hiredis/sds.c#L1","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":82.0,"weighted_findings":61.0,"scanned_lines":90664.0,"category:best-practice":4.0,"category:correctness":78.0},"findings":[{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"deps/hiredis/test.c","line":618,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/hiredis/test.c:618"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/aof.c","line":694,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/aof.c:694"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":83,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:83"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":127,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:127"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":128,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:128"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":144,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:144"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":159,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:159"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":160,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:160"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":162,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:162"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/cluster.c","line":1681,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/cluster.c:1681"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":83,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:83"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":88,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:88"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":104,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:104"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":105,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:105"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":184,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:184"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":191,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:191"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":215,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:215"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":222,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:222"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":225,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:225"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":231,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:231"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":291,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:291"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":378,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:378"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/config.c","line":392,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/config.c:392"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/db.c","line":624,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/db.c:624"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/db.c","line":1006,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/db.c:1006"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"src/mkreleasehdr.sh","line":6,"fingerprint":"bash.lang.best-practice.useless-cat:src/mkreleasehdr.sh:6"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"src/mkreleasehdr.sh","line":6,"fingerprint":"bash.lang.best-practice.useless-cat:src/mkreleasehdr.sh:6"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"src/mkreleasehdr.sh","line":7,"fingerprint":"bash.lang.best-practice.useless-cat:src/mkreleasehdr.sh:7"},{"rule_id":"opengrep/bash.lang.best-practice.useless-cat","severity":"medium","message":"Useless call to 'cat' in a pipeline. Use '<' and '>' for any command to read from a file or write to a file.","path":"src/mkreleasehdr.sh","line":7,"fingerprint":"bash.lang.best-practice.useless-cat:src/mkreleasehdr.sh:7"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-sscanf-fn","severity":"medium","message":"Avoid 'sscanf()' for number conversions. Its use can lead to undefined behavior, slow processing, and integer overflows. Instead prefer the 'strto*()' family of functions.","path":"src/rdb.c","line":485,"fingerprint":"c.lang.correctness.incorrect-use-sscanf-fn:src/rdb.c:485"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/rdb.c","line":1297,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/rdb.c:1297"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-sscanf-fn","severity":"medium","message":"Avoid 'sscanf()' for number conversions. Its use can lead to undefined behavior, slow processing, and integer overflows. Instead prefer the 'strto*()' family of functions.","path":"src/redis-check-dump.c","line":381,"fingerprint":"c.lang.correctness.incorrect-use-sscanf-fn:src/redis-check-dump.c:381"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":523,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:523"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":528,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:528"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":611,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:611"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":643,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:643"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":652,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:652"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":796,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:796"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis-cli.c","line":804,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis-cli.c:804"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis.c","line":2811,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis.c:2811"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis.c","line":2851,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis.c:2851"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/redis.c","line":3002,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/redis.c:3002"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1154,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1154"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1158,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1158"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1170,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1170"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1177,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1177"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1195,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1195"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1402,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1402"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1404,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1404"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1431,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1431"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1443,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1443"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1674,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1674"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/sentinel.c","line":1675,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/sentinel.c:1675"},{"rule_id":"opengrep/c.lang.correctness.incorrect-use-ato-fn","severity":"medium","message":"Avoid the 'ato*()' family of functions. Their use can lead to undefined behavior, integer overflows, and lack of appropriate error handling. Instead prefer the 'strtol*()' family of functions.","path":"src/ziplist.c","line":1560,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:src/ziplist.c:1560"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"deps/jemalloc/autogen.sh","line":5,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/jemalloc/autogen.sh:5"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"deps/jemalloc/autogen.sh","line":13,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/jemalloc/autogen.sh:13"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"src/mkreleasehdr.sh","line":4,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:src/mkreleasehdr.sh:4"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"src/mkreleasehdr.sh","line":6,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:src/mkreleasehdr.sh:6"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"src/mkreleasehdr.sh","line":7,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:src/mkreleasehdr.sh:7"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-command-substitution-in-command","severity":"low","message":"The result of command substitution $(...) or `...`, if unquoted, is split on whitespace or other separators specified by the IFS variable. You should surround it with double quotes to avoid splitting the result.","path":"utils/install_server.sh","line":67,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:utils/install_server.sh:67"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":85,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:85"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":113,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:113"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":125,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:125"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":126,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:126"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":129,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:129"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":132,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:132"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":164,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:164"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":164,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:164"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":167,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:167"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":167,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:167"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":171,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:171"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":171,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:171"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":178,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:178"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":181,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:181"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":182,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:182"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/install_server.sh","line":185,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/install_server.sh:185"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/mkrelease.sh","line":11,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/mkrelease.sh:11"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/mkrelease.sh","line":13,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/mkrelease.sh:13"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/mkrelease.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/mkrelease.sh:14"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/whatisdoing.sh","line":8,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/whatisdoing.sh:8"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/whatisdoing.sh","line":10,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/whatisdoing.sh:10"},{"rule_id":"opengrep/bash.lang.correctness.unquoted-variable-expansion-in-command","severity":"low","message":"Variable expansions must be double-quoted so as to prevent being split into multiple pieces according to whitespace or whichever separator is specified by the IFS variable. If you really wish to split the variable's contents, you may use a variable that starts with an underscore e.g. $_X instead of ","path":"utils/whatisdoing.sh","line":11,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:utils/whatisdoing.sh:11"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.0354,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.0476,"test_lines":1607.0,"source_lines":90705.0,"test_ratio":0.0177,"ci_files":0.0,"cochange_share":0.0119,"cochange_commits":252.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":0.5,"check:license":1.0,"check:contributing":1.0,"check:changelog":1.0,"readme_lines":12.0},"findings":[],"evidence":[{"kind":"docs","description":"README.rst","ref":"README.rst","url":null,"weight":0.0},{"kind":"docs","description":"COPYING","ref":"COPYING","url":null,"weight":0.0},{"kind":"docs","description":"CONTRIBUTING","ref":"CONTRIBUTING","url":null,"weight":0.0},{"kind":"docs","description":"Changelog","ref":"Changelog","url":null,"weight":0.0}],"data":{},"error":null},{"analyzer":"qual-type-safety","pillar":"quality","status":"skipped","tool_version":null,"metrics":{},"findings":[],"evidence":[],"data":{},"error":null}],"flags":[]}