{"schema_version":"2","scorer_version":"0.1.0","scoring_version":"prov-4+qual-2+sec-2","generated_at":"2026-11-13T23:41:50.874931Z","repo":{"ref":{"host":"github.com","owner":"alibaba","name":"tair"},"default_branch":"master","clone_url":"https://github.com/alibaba/tair.git","html_url":"https://github.com/alibaba/tair","description":"A distributed key-value storage system developed by Alibaba Group","stars":2313,"forks":608,"is_fork":false,"is_archived":false,"is_private":false,"size_kb":3843,"primary_language":"C++","license_spdx":"GPL-2.0","created_at":"2012-09-28T02:11:36Z","pushed_at":"2019-11-19T03:53:09Z","security_policy_url":null,"distribution":{"owner_created_at":"2012-07-12T08:40:35Z","owner_type":"Organization","release_assets":[]}},"commit_sha":"5cce166b779385f422e8c2fce727cd9b4545491c","profile":{"lines_by_language":{"C++":113612,"C":50972,"Shell":608},"files_by_category":{"source":608,"other":74,"test":49,"docs":9,"config":3},"source_lines":155941,"test_lines":9251},"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":55.5,"confidence":0.9,"coverage":1.0,"label":"weak","breakdown":{"complexity":54.6,"duplication":52.6,"lint":90.0,"testing":25.5,"docs":85.0,"type_safety":null,"process":null},"summary":"Code quality is weak: test-to-source ratio 0.06, no CI test run detected; 20% of function code in complex or long functions; 11% duplicated lines. Weakest area: testing."},"security":{"score":78.5,"confidence":0.85,"coverage":1.0,"label":"adequate","breakdown":{"secrets":96.7,"sast":95.0,"dependencies":null,"ci_actions":null,"posture":0.0,"scorecard":null},"summary":"Security posture is adequate: no high-impact 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":288.0,"attributed_commits":0.0,"attributed_commit_share":0.0,"effective_loc":371873.0,"attributed_loc":0.0,"attributed_loc_share":0.0,"tools_detected":0.0},"findings":[],"evidence":[],"data":{"attributed_loc_by_commit":{},"tools":{},"monthly":{"2010-11":{"loc":50211,"attributed_loc":0},"2010-12":{"loc":21789,"attributed_loc":0},"2011-01":{"loc":59,"attributed_loc":0},"2011-02":{"loc":1,"attributed_loc":0},"2011-03":{"loc":1,"attributed_loc":0},"2011-04":{"loc":0,"attributed_loc":0},"2011-05":{"loc":2,"attributed_loc":0},"2011-07":{"loc":126,"attributed_loc":0},"2011-08":{"loc":615,"attributed_loc":0},"2011-09":{"loc":1918,"attributed_loc":0},"2011-10":{"loc":59,"attributed_loc":0},"2011-11":{"loc":22,"attributed_loc":0},"2011-12":{"loc":82885,"attributed_loc":0},"2012-01":{"loc":772,"attributed_loc":0},"2012-02":{"loc":174,"attributed_loc":0},"2012-03":{"loc":5864,"attributed_loc":0},"2012-04":{"loc":6590,"attributed_loc":0},"2012-05":{"loc":12190,"attributed_loc":0},"2012-06":{"loc":18526,"attributed_loc":0},"2012-07":{"loc":5899,"attributed_loc":0},"2012-08":{"loc":12035,"attributed_loc":0},"2012-09":{"loc":19799,"attributed_loc":0},"2012-10":{"loc":954,"attributed_loc":0},"2013-11":{"loc":3,"attributed_loc":0},"2014-09":{"loc":0,"attributed_loc":0},"2016-04":{"loc":131374,"attributed_loc":0},"2018-01":{"loc":0,"attributed_loc":0},"2018-02":{"loc":5,"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":180.0,"flagged_units":0.0,"pre_ai_era_bursts":12.0,"pre_ai_era_measured_loc":100265.0,"pre_ai_era_burst_loc":71155.0,"measured_loc":100265.0,"flagged_loc":0.0,"flagged_loc_share":0.0,"max_loc_per_hour":5177.827593234156,"median_loc_per_hour":133.375,"pr_timed_units":0.0,"excluded_import_loc":271608.0},"findings":[],"evidence":[],"data":{"flagged_loc_by_commit":{},"excluded_import_commits":["1dfda6cd9449364105b6fcfb118a992fa8f4af0e","53b8ac8e9a1d3b761a1bc5e71e84256abb60a91a","61f6fd6ce9e70a20fcd88d35cb8402fb5e76a881","7363e388d034afdac99e737aae35ccabe746f7fb","753355c754a8dd06ddd8eeea1eb2727675632299","98245b458639dcb52fc5dbf69430d4132b076265","a66b474dc84ace5a287b1aff437944349e005dba","f6031dc89aaccb82e550354f2411d817c8be9462"]},"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":155941.0,"index":0.051,"count:narrated_steps":8.0,"per_kloc:narrated_steps":0.051,"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: // Step 1: Scan forward in the input looking for a 4-byte-long match.","ref":"src/common/snappy/snappy.cc:330","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/common/snappy/snappy.cc#L330","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 2: A 4-byte match has been found.  We'll later see if more","ref":"src/common/snappy/snappy.cc:367","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/common/snappy/snappy.cc#L367","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Step 3: Call EmitCopy, and then see if another EmitCopy could","ref":"src/common/snappy/snappy.cc:373","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/common/snappy/snappy.cc#L373","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // Now, we just copy raw data whose byteorder is based on architecture itself.","ref":"src/common/stat_define.cpp:441","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/common/stat_define.cpp#L441","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // now we only use one writer.","ref":"src/dataserver/remote_sync_manager.cpp:111","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/dataserver/remote_sync_manager.cpp#L111","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // now, we are proposing to be done","ref":"src/storage/ldb/ldb_balancer.cpp:196","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/storage/ldb/ldb_balancer.cpp#L196","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // first, get real hungry ones","ref":"src/storage/ldb/ldb_manager.cpp:337","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/storage/ldb/ldb_manager.cpp#L337","weight":0.0},{"kind":"stylometry:narrated_steps","description":"step-by-step narration comment: // now, we will feed hungrys","ref":"src/storage/ldb/ldb_manager.cpp:366","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/storage/ldb/ldb_manager.cpp#L366","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/private-key","severity":"low","message":"Possible private-key secret in the current tree (test/docs/example file)","path":"deps/libeasy/sample/ca.key","line":1,"fingerprint":"deps/libeasy/sample/ca.key:private-key:1"}],"evidence":[],"data":{},"error":null},{"analyzer":"sec-sast","pillar":"security","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":92.0,"findings_high":0.0,"findings_medium":92.0,"findings_low":0.0,"weighted_findings":23.0,"scanned_lines":155941.0,"parse_errors":35.0},"findings":[{"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/libeasy/sample/dns_server.c","line":35,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/dns_server.c:35"},{"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/libeasy/sample/dns_server.c","line":55,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/dns_server.c:55"},{"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/libeasy/sample/echo_client.c","line":41,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client.c:41"},{"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/libeasy/sample/echo_client.c","line":64,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client.c:64"},{"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/libeasy/sample/echo_client_simple.c","line":43,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_simple.c:43"},{"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/libeasy/sample/echo_client_simple.c","line":69,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_simple.c:69"},{"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/libeasy/sample/echo_client_tbnet.c","line":51,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_tbnet.c:51"},{"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/libeasy/sample/echo_client_tbnet.c","line":74,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_tbnet.c:74"},{"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/libeasy/sample/echo_client_tbnet.c","line":96,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_tbnet.c:96"},{"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/libeasy/sample/echo_client_uthread.c","line":38,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_uthread.c:38"},{"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/libeasy/sample/echo_client_uthread.c","line":61,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_client_uthread.c:61"},{"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/libeasy/sample/echo_packet_tbnet.h","line":121,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_packet_tbnet.h:121"},{"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/libeasy/sample/echo_packet_tbnet.h","line":142,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_packet_tbnet.h:142"},{"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/libeasy/sample/echo_server.c","line":30,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server.c:30"},{"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/libeasy/sample/echo_server.c","line":51,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server.c:51"},{"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/libeasy/sample/echo_server_async.c","line":32,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server_async.c:32"},{"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/libeasy/sample/echo_server_async.c","line":53,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server_async.c:53"},{"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/libeasy/sample/echo_server_tbnet.c","line":30,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server_tbnet.c:30"},{"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/libeasy/sample/echo_server_tbnet.c","line":50,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/echo_server_tbnet.c:50"},{"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/libeasy/sample/http_client.c","line":49,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_client.c:49"},{"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/libeasy/sample/http_client.c","line":244,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:deps/libeasy/sample/http_client.c:244"},{"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/libeasy/sample/http_server.c","line":38,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_server.c:38"},{"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/libeasy/sample/http_server.c","line":59,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_server.c:59"},{"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/libeasy/sample/http_server_proxy.c","line":32,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_server_proxy.c:32"},{"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/libeasy/sample/http_server_proxy.c","line":52,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_server_proxy.c:52"},{"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/libeasy/sample/http_server_proxy.c","line":264,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_server_proxy.c:264"},{"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/libeasy/sample/http_status.c","line":82,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_status.c:82"},{"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/libeasy/sample/http_status.c","line":109,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/http_status.c:109"},{"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/libeasy/sample/https_client.c","line":46,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/https_client.c:46"},{"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/libeasy/sample/https_server.c","line":34,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/https_server.c:34"},{"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/libeasy/sample/https_server.c","line":61,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/https_server.c:61"},{"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/libeasy/sample/kfc_test.c","line":48,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/kfc_test.c:48"},{"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/libeasy/sample/kfc_test.c","line":91,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/kfc_test.c:91"},{"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/libeasy/sample/proxy_server.c","line":38,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/proxy_server.c:38"},{"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/libeasy/sample/proxy_server.c","line":277,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/sample/proxy_server.c:277"},{"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/libeasy/src/io/easy_connection.c","line":260,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_connection.c:260"},{"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/libeasy/src/io/easy_connection.c","line":348,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_connection.c:348"},{"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/libeasy/src/io/easy_connection.c","line":1507,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_connection.c:1507"},{"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/libeasy/src/io/easy_connection.c","line":1634,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_connection.c:1634"},{"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/libeasy/src/io/easy_connection.c","line":1743,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_connection.c:1743"},{"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/libeasy/src/io/easy_io.c","line":52,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_io.c:52"},{"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/libeasy/src/io/easy_io.c","line":152,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_io.c:152"},{"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/libeasy/src/io/easy_io.c","line":177,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_io.c:177"},{"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/libeasy/src/io/easy_io.c","line":265,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_io.c:265"},{"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/libeasy/src/io/easy_message.c","line":100,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_message.c:100"},{"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/libeasy/src/io/easy_request.c","line":304,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_request.c:304"},{"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/libeasy/src/io/easy_socket.c","line":50,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_socket.c:50"},{"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/libeasy/src/io/easy_socket.c","line":63,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_socket.c:63"},{"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/libeasy/src/io/easy_socket.c","line":295,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_socket.c:295"},{"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/libeasy/src/io/easy_ssl.c","line":68,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_ssl.c:68"},{"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/libeasy/src/io/easy_ssl.c","line":1064,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_ssl.c:1064"},{"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/libeasy/src/io/easy_summary.c","line":80,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_summary.c:80"},{"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/libeasy/src/io/easy_summary.c","line":214,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/io/easy_summary.c:214"},{"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/libeasy/src/memory/easy_mem_page.c","line":47,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_page.c:47"},{"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/libeasy/src/memory/easy_mem_pool.c","line":245,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_pool.c:245"},{"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/libeasy/src/memory/easy_mem_slab.c","line":22,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_slab.c:22"},{"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/libeasy/src/memory/easy_mem_slab.c","line":57,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_slab.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/libeasy/src/memory/easy_mem_slab.c","line":189,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_slab.c:189"},{"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/libeasy/src/memory/easy_mem_slab.c","line":270,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/memory/easy_mem_slab.c:270"},{"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/libeasy/src/packet/easy_kfc_handler.c","line":126,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_kfc_handler.c:126"},{"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/libeasy/src/packet/easy_kfc_handler.c","line":146,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_kfc_handler.c:146"},{"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/libeasy/src/packet/easy_kfc_handler.c","line":759,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_kfc_handler.c:759"},{"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/libeasy/src/packet/easy_kfc_handler.c","line":1224,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_kfc_handler.c:1224"},{"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/libeasy/src/packet/easy_simple_handler.h","line":113,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_simple_handler.h:113"},{"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/libeasy/src/packet/easy_tbnet.h","line":16,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_tbnet.h:16"},{"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/libeasy/src/packet/easy_tbnet.h","line":173,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_tbnet.h: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/libeasy/src/packet/easy_tbnet.h","line":403,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_tbnet.h:403"},{"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/libeasy/src/packet/easy_tbnet.h","line":557,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/easy_tbnet.h:557"},{"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/libeasy/src/packet/http/easy_http_handler.c","line":583,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/packet/http/easy_http_handler.c:583"},{"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/libeasy/src/thread/easy_uthread.c","line":21,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/thread/easy_uthread.c:21"},{"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/libeasy/src/thread/easy_uthread.c","line":240,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/thread/easy_uthread.c:240"},{"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/libeasy/src/thread/easy_uthread.c","line":249,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/thread/easy_uthread.c:249"},{"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/libeasy/src/util/easy_inet.c","line":49,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:49"},{"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/libeasy/src/util/easy_inet.c","line":117,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:117"},{"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/libeasy/src/util/easy_inet.c","line":202,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.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":"deps/libeasy/src/util/easy_inet.c","line":217,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:217"},{"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/libeasy/src/util/easy_inet.c","line":236,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:236"},{"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/libeasy/src/util/easy_inet.c","line":242,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:242"},{"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/libeasy/src/util/easy_inet.c","line":257,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_inet.c:257"},{"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/libeasy/src/util/easy_pool.c","line":23,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_pool.c:23"},{"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/libeasy/src/util/easy_pool.c","line":112,"fingerprint":"c.lang.security.insecure-use-memset:deps/libeasy/src/util/easy_pool.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/common/cJSON.c","line":76,"fingerprint":"c.lang.security.insecure-use-memset:src/common/cJSON.c:76"},{"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/common/cJSON.c","line":361,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/common/cJSON.c:361"},{"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/common/cJSON.c","line":367,"fingerprint":"c.lang.security.insecure-use-memset:src/common/cJSON.c:367"},{"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/common/cJSON.c","line":396,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/common/cJSON.c:396"},{"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/common/cJSON.c","line":465,"fingerprint":"c.lang.security.insecure-use-memset:src/common/cJSON.c:465"},{"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/common/cJSON.c","line":466,"fingerprint":"c.lang.security.insecure-use-memset:src/common/cJSON.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/common/cJSON.c","line":495,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/common/cJSON.c:495"},{"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/common/cJSON.c","line":497,"fingerprint":"c.lang.security.insecure-use-string-copy-fn:src/common/cJSON.c:497"},{"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/storage/ldb/leveldb/db/version_set.h","line":175,"fingerprint":"c.lang.security.insecure-use-memset:src/storage/ldb/leveldb/db/version_set.h:175"},{"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/storage/ldb/leveldb/db/version_set.h","line":470,"fingerprint":"c.lang.security.insecure-use-memset:src/storage/ldb/leveldb/db/version_set.h:470"},{"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/storage/ldb/leveldb/db/version_set.h","line":475,"fingerprint":"c.lang.security.insecure-use-memset:src/storage/ldb/leveldb/db/version_set.h:475"}],"evidence":[],"data":{"rulesets":["c","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":7113.0,"function_nloc":90745.0,"mean_ccn":3.19,"p90_ccn":7.0,"complex_functions":183.0,"long_functions":53.0,"many_param_functions":38.0,"risky_nloc_share":0.2017},"findings":[],"evidence":[{"kind":"complex-function","description":"http_parser_execute in deps/libeasy/src/packet/http/http_parser.c: complexity 354, 1041 lines","ref":"deps/libeasy/src/packet/http/http_parser.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/src/packet/http/http_parser.c#L355","weight":1.0},{"kind":"complex-function","description":"tair::tair_client::print_help in src/client/tair_client.cpp: complexity 147, 562 lines","ref":"src/client/tair_client.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/client/tair_client.cpp#L413","weight":1.0},{"kind":"complex-function","description":"tair::packet_factory::create_packet in src/packets/packet_factory.cpp: complexity 84, 264 lines","ref":"src/packets/packet_factory.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/packets/packet_factory.cpp#L211","weight":1.0},{"kind":"complex-function","description":"tair::base_packet::name in src/packets/base_packet.hpp: complexity 83, 170 lines","ref":"src/packets/base_packet.hpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/packets/base_packet.hpp#L289","weight":1.0},{"kind":"complex-function","description":"tair::tair_server::packet_handler in src/dataserver/tair_server.cpp: complexity 69, 323 lines","ref":"src/dataserver/tair_server.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/dataserver/tair_server.cpp#L379","weight":1.0},{"kind":"complex-function","description":"tair::tair_manager::op_cmd in src/dataserver/tair_manager.cpp: complexity 65, 227 lines","ref":"src/dataserver/tair_manager.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/dataserver/tair_manager.cpp#L1329","weight":1.0},{"kind":"complex-function","description":"do_task in src/storage/ldb/tools/ldb_verify.cpp: complexity 60, 218 lines","ref":"src/storage/ldb/tools/ldb_verify.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/src/storage/ldb/tools/ldb_verify.cpp#L1150","weight":1.0},{"kind":"complex-function","description":"tbutil::Service::runDaemon in deps/tbsys/src/Service.cpp: complexity 55, 264 lines","ref":"deps/tbsys/src/Service.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/tbsys/src/Service.cpp#L440","weight":0.9166666666666666},{"kind":"complex-function","description":"tbutil::Service::main in deps/tbsys/src/Service.cpp: complexity 54, 226 lines","ref":"deps/tbsys/src/Service.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/tbsys/src/Service.cpp#L57","weight":0.9},{"kind":"complex-function","description":"easy_ssl_connection_error in deps/libeasy/src/io/easy_ssl.c: complexity 49, 61 lines","ref":"deps/libeasy/src/io/easy_ssl.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/src/io/easy_ssl.c#L389","weight":0.8166666666666667}],"data":{},"error":null},{"analyzer":"qual-duplication","pillar":"quality","status":"ok","tool_version":"repotrust-dup-w6","metrics":{"compared_lines":105162.0,"duplicated_lines":11258.0,"duplicated_share":0.1071,"files":608.0},"findings":[],"evidence":[{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/bootstrap.sh:6 and deps/tbsys/autogen.sh:7","ref":"deps/libeasy/bootstrap.sh","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/bootstrap.sh#L6","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/dns_server.c:10 and deps/libeasy/sample/http_server.c:11","ref":"deps/libeasy/sample/dns_server.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/dns_server.c#L10","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/dns_server.c:12 and deps/libeasy/sample/echo_server_async.c:10","ref":"deps/libeasy/sample/dns_server.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/dns_server.c#L12","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/dns_server.c:13 and deps/libeasy/sample/echo_client.c:19","ref":"deps/libeasy/sample/dns_server.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/dns_server.c#L13","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/dns_server.c:30 and deps/libeasy/sample/echo_server.c:25","ref":"deps/libeasy/sample/dns_server.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/dns_server.c#L30","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/dns_server.c:136 and deps/libeasy/sample/https_server.c:142","ref":"deps/libeasy/sample/dns_server.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/dns_server.c#L136","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/easy_kfc_load.cpp:443 and deps/libeasy/sample/easy_kfc_tool.cpp:275","ref":"deps/libeasy/sample/easy_kfc_load.cpp","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/easy_kfc_load.cpp#L443","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/echo_client.c:6 and deps/libeasy/sample/echo_client_simple.c:5","ref":"deps/libeasy/sample/echo_client.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/echo_client.c#L6","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/echo_client.c:14 and deps/libeasy/sample/echo_client_uthread.c:14","ref":"deps/libeasy/sample/echo_client.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/echo_client.c#L14","weight":0.3},{"kind":"duplicate-code","description":"6+ duplicated lines: deps/libeasy/sample/echo_client.c:49 and deps/libeasy/sample/echo_client_tbnet.c:59","ref":"deps/libeasy/sample/echo_client.c","url":"https://github.com/alibaba/tair/blob/5cce166b779385f422e8c2fce727cd9b4545491c/deps/libeasy/sample/echo_client.c#L49","weight":0.3}],"data":{},"error":null},{"analyzer":"qual-lint","pillar":"quality","status":"ok","tool_version":"opengrep 1.33.1; rules f1d2b562b414","metrics":{"findings":106.0,"weighted_findings":65.5,"scanned_lines":155941.0,"category:best-practice":2.0,"category:correctness":104.0},"findings":[{"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":"deps/libeasy/rpm/t_libeasy-build.sh","line":20,"fingerprint":"bash.lang.best-practice.useless-cat:deps/libeasy/rpm/t_libeasy-build.sh:20"},{"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/libeasy/sample/dns_server.c","line":128,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/dns_server.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":"deps/libeasy/sample/dns_server.c","line":142,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/dns_server.c:142"},{"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/libeasy/sample/echo_client.c","line":155,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client.c:155"},{"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/libeasy/sample/echo_client.c","line":159,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client.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":"deps/libeasy/sample/echo_client.c","line":163,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client.c:163"},{"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/libeasy/sample/echo_client.c","line":168,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client.c:168"},{"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/libeasy/sample/echo_client_simple.c","line":162,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_simple.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":"deps/libeasy/sample/echo_client_simple.c","line":166,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_simple.c:166"},{"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/libeasy/sample/echo_client_simple.c","line":170,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_simple.c:170"},{"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/libeasy/sample/echo_client_simple.c","line":175,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_simple.c:175"},{"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/libeasy/sample/echo_client_tbnet.c","line":180,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_tbnet.c:180"},{"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/libeasy/sample/echo_client_tbnet.c","line":184,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_tbnet.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":"deps/libeasy/sample/echo_client_tbnet.c","line":188,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_tbnet.c:188"},{"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/libeasy/sample/echo_client_tbnet.c","line":192,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_tbnet.c:192"},{"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/libeasy/sample/echo_client_tbnet.c","line":197,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_tbnet.c:197"},{"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/libeasy/sample/echo_client_uthread.c","line":137,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_uthread.c:137"},{"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/libeasy/sample/echo_client_uthread.c","line":141,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_uthread.c:141"},{"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/libeasy/sample/echo_client_uthread.c","line":145,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_uthread.c:145"},{"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/libeasy/sample/echo_client_uthread.c","line":150,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_client_uthread.c:150"},{"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/libeasy/sample/echo_server.c","line":116,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server.c:116"},{"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/libeasy/sample/echo_server.c","line":120,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server.c:120"},{"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/libeasy/sample/echo_server_async.c","line":122,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server_async.c:122"},{"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/libeasy/sample/echo_server_async.c","line":126,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server_async.c:126"},{"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/libeasy/sample/echo_server_async.c","line":130,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server_async.c:130"},{"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/libeasy/sample/echo_server_tbnet.c","line":117,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server_tbnet.c:117"},{"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/libeasy/sample/echo_server_tbnet.c","line":121,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/echo_server_tbnet.c:121"},{"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/libeasy/sample/http_client.c","line":189,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_client.c:189"},{"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/libeasy/sample/http_client.c","line":193,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_client.c:193"},{"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/libeasy/sample/http_client.c","line":197,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_client.c:197"},{"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/libeasy/sample/http_server.c","line":133,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_server.c:133"},{"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/libeasy/sample/http_server.c","line":147,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_server.c:147"},{"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/libeasy/sample/http_server.c","line":151,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_server.c:151"},{"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/libeasy/sample/http_server_proxy.c","line":122,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_server_proxy.c:122"},{"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/libeasy/sample/http_server_proxy.c","line":126,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_server_proxy.c:126"},{"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/libeasy/sample/http_status.c","line":183,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/http_status.c:183"},{"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/libeasy/sample/https_client.c","line":186,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/https_client.c:186"},{"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/libeasy/sample/https_client.c","line":254,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/https_client.c:254"},{"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/libeasy/sample/https_server.c","line":134,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/https_server.c:134"},{"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/libeasy/sample/https_server.c","line":148,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/https_server.c:148"},{"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/libeasy/sample/kfc_test.c","line":108,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/kfc_test.c:108"},{"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/libeasy/sample/press_easy_mem_pool.c","line":224,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/press_easy_mem_pool.c:224"},{"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/libeasy/sample/press_easy_mem_pool.c","line":225,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/press_easy_mem_pool.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":"deps/libeasy/sample/proxy_server.c","line":135,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/proxy_server.c:135"},{"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/libeasy/sample/proxy_server.c","line":139,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/proxy_server.c:139"},{"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/libeasy/sample/proxy_server.c","line":164,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/proxy_server.c:164"},{"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/libeasy/sample/proxy_server.c","line":166,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/proxy_server.c:166"},{"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/libeasy/sample/proxy_server.c","line":168,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/sample/proxy_server.c:168"},{"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/libeasy/src/io/easy_log.c","line":84,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/src/io/easy_log.c:84"},{"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/libeasy/src/packet/easy_kfc_handler.c","line":254,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/src/packet/easy_kfc_handler.c:254"},{"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/libeasy/src/util/easy_inet.c","line":70,"fingerprint":"c.lang.correctness.incorrect-use-ato-fn:deps/libeasy/src/util/easy_inet.c:70"},{"rule_id":"opengrep/bash.lang.best-practice.iteration-over-ls-output","severity":"medium","message":"Iterating over ls output is fragile. Use globs, e.g. 'dir/*' instead of '$(ls dir)'.","path":"scripts/tair.sh","line":203,"fingerprint":"bash.lang.best-practice.iteration-over-ls-output:scripts/tair.sh:203"},{"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":"bootstrap.sh","line":7,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:7"},{"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":"bootstrap.sh","line":8,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.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":"bootstrap.sh","line":14,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.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":"bootstrap.sh","line":17,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:17"},{"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":"bootstrap.sh","line":20,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:20"},{"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":"bootstrap.sh","line":37,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:37"},{"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":"bootstrap.sh","line":40,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:40"},{"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":"bootstrap.sh","line":42,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:42"},{"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":"bootstrap.sh","line":45,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:bootstrap.sh:45"},{"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/libeasy/rpm/t_libeasy-build.sh","line":15,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/libeasy/rpm/t_libeasy-build.sh:15"},{"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/libeasy/rpm/t_libeasy-build.sh","line":51,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/libeasy/rpm/t_libeasy-build.sh:51"},{"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/libeasy/rpm/t_libeasy-build.sh","line":55,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/libeasy/rpm/t_libeasy-build.sh:55"},{"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/libeasy/rpm/t_libeasy-build.sh","line":58,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/libeasy/rpm/t_libeasy-build.sh:58"},{"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/libeasy/rpm/t_libeasy-build.sh","line":60,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/libeasy/rpm/t_libeasy-build.sh:60"},{"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/tbsys/build.sh","line":13,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:deps/tbsys/build.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":"scripts/do_dump.sh","line":7,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/do_dump.sh:7"},{"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":"scripts/do_dump.sh","line":10,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/do_dump.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":"scripts/do_dump.sh","line":13,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/do_dump.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":"scripts/do_dump.sh","line":15,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/do_dump.sh:15"},{"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":"scripts/do_upload.sh","line":11,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/do_upload.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":"scripts/set_shm.sh","line":5,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/set_shm.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":"scripts/stat.sh","line":101,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/stat.sh:101"},{"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":"scripts/tair.sh","line":1,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:1"},{"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":"scripts/tair.sh","line":10,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:10"},{"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":"scripts/tair.sh","line":22,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:22"},{"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":"scripts/tair.sh","line":45,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:45"},{"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":"scripts/tair.sh","line":57,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:57"},{"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":"scripts/tair.sh","line":65,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:65"},{"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":"scripts/tair.sh","line":81,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:81"},{"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":"scripts/tair.sh","line":86,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:86"},{"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":"scripts/tair.sh","line":88,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:88"},{"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":"scripts/tair.sh","line":94,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:94"},{"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":"scripts/tair.sh","line":96,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:96"},{"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":"scripts/tair.sh","line":107,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:107"},{"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":"scripts/tair.sh","line":112,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:112"},{"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":"scripts/tair.sh","line":117,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:117"},{"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":"scripts/tair.sh","line":122,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:122"},{"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":"scripts/tair.sh","line":127,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:127"},{"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":"scripts/tair.sh","line":132,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.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":"scripts/tair.sh","line":132,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:132"},{"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":"scripts/tair.sh","line":141,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:141"},{"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":"scripts/tair.sh","line":146,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:146"},{"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":"scripts/tair.sh","line":151,"fingerprint":"bash.lang.correctness.unquoted-command-substitution-in-command:scripts/tair.sh:151"},{"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":"scripts/tair.sh","line":163,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:163"},{"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":"scripts/tair.sh","line":171,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.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":"scripts/tair.sh","line":176,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:176"},{"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":"scripts/tair.sh","line":181,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.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":"scripts/tair.sh","line":186,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:186"},{"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":"scripts/tair.sh","line":191,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:191"},{"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":"scripts/tair.sh","line":192,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:192"},{"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":"scripts/tair.sh","line":197,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:197"},{"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":"scripts/tair.sh","line":198,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:198"},{"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":"scripts/tair.sh","line":205,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:205"},{"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":"scripts/tair.sh","line":205,"fingerprint":"bash.lang.correctness.unquoted-variable-expansion-in-command:scripts/tair.sh:205"}],"evidence":[],"data":{},"error":null},{"analyzer":"qual-testing","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:has_tests":1.0,"check:test_ratio":0.1186,"check:ci_present":0.0,"check:ci_runs_tests":0.0,"check:ci_runs_lint":0.0,"check:tests_cochange":0.25,"test_lines":9251.0,"source_lines":155941.0,"test_ratio":0.0593,"ci_files":0.0,"cochange_share":0.0625,"cochange_commits":144.0},"findings":[],"evidence":[],"data":{"test_commands":[],"lint_commands":[]},"error":null},{"analyzer":"qual-docs","pillar":"quality","status":"ok","tool_version":null,"metrics":{"check:readme":1.0,"check:license":1.0,"check:contributing":0.0,"check:changelog":1.0,"readme_lines":49.0},"findings":[],"evidence":[{"kind":"docs","description":"README.md","ref":"README.md","url":null,"weight":0.0},{"kind":"docs","description":"COPYING","ref":"COPYING","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":[]}