{"$schema": "https://docs.oasis-open.org/sarif/sarif/v2.1.0/errata01/os/schemas/sarif-schema-2.1.0.json",
 "version": "2.1.0",
 "runs": [{"tool": {"driver": {"name": "GNU C23",
                               "fullName": "GNU C23 (GCC) version 16.1.1 20260703 (Red Hat 16.1.1-4) (x86_64-redhat-linux)",
                               "version": "16.1.1 20260703 (Red Hat 16.1.1-4)",
                               "informationUri": "https://gcc.gnu.org/gcc-16/",
                               "rules": [{"id": "-Wanalyzer-fd-use-without-check",
                                          "helpUri": "https://gcc.gnu.org/onlinedocs/gcc-16.1.0/gcc/Static-Analyzer-Options.html#index-Wanalyzer-fd-use-without-check"}]}},
           "invocations": [{"arguments": ["/usr/libexec/gcc/x86_64-redhat-linux/16/cc1",
                                          "-quiet",
                                          "-I",
                                          "../src/include/",
                                          "-D",
                                          "_GNU_SOURCE",
                                          "zcrx.c",
                                          "-quiet",
                                          "-dumpbase",
                                          "zcrx.c",
                                          "-dumpbase-ext",
                                          ".c",
                                          "-m64",
                                          "-mtune=generic",
                                          "-march=x86-64",
                                          "-mtls-dialect=gnu2",
                                          "-O2",
                                          "-Wno-unknown-pragmas",
                                          "-flto=auto",
                                          "-ffat-lto-objects",
                                          "-fexceptions",
                                          "-fstack-protector-strong",
                                          "-fasynchronous-unwind-tables",
                                          "-fstack-clash-protection",
                                          "-fcf-protection=full",
                                          "-fno-omit-frame-pointer",
                                          "-fanalyzer",
                                          "-fdiagnostics-path-format=separate-events",
                                          "-fno-diagnostics-show-caret",
                                          "-fno-lto",
                                          "-fanalyzer-assume-nothrow",
                                          "-fdiagnostics-text-art-charset=none",
                                          "-fdiagnostics-set-output=sarif:file=/builddir/gcc-results/6364-RKsc.sarif",
                                          "-o",
                                          "/tmp/ccsVGClJ.s"],
                            "workingDirectory": {"uri": "/builddir/build/BUILD/liburing-2.13-build/liburing-2.13/examples"},
                            "startTimeUtc": "2026-08-03T18:02:16Z",
                            "executionSuccessful": true,
                            "toolExecutionNotifications": [],
                            "endTimeUtc": "2026-08-03T18:02:17Z"}],
           "originalUriBaseIds": {"PWD": {"uri": "file:///builddir/build/BUILD/liburing-2.13-build/liburing-2.13/examples/"}},
           "artifacts": [{"location": {"uri": "zcrx.c",
                                       "uriBaseId": "PWD"},
                          "sourceLanguage": "c",
                          "contents": {"text": "// SPDX-License-Identifier: GPL-2.0\n#include <assert.h>\n#include <errno.h>\n#include <fcntl.h>\n#include <limits.h>\n#include <stdbool.h>\n#include <stdint.h>\n#include <stdio.h>\n#include <stdlib.h>\n#include <string.h>\n#include <unistd.h>\n#include <stdarg.h>\n#include <time.h>\n\n#include <arpa/inet.h>\n#include <linux/errqueue.h>\n#include <linux/if_packet.h>\n#include <linux/ipv6.h>\n#include <linux/socket.h>\n#include <linux/sockios.h>\n#include <net/ethernet.h>\n#include <net/if.h>\n#include <netinet/in.h>\n#include <netinet/ip.h>\n#include <netinet/ip6.h>\n#include <netinet/tcp.h>\n#include <netinet/udp.h>\n#include <sys/epoll.h>\n#include <sys/ioctl.h>\n#include <sys/mman.h>\n#include <sys/resource.h>\n#include <sys/socket.h>\n#include <sys/stat.h>\n#include <sys/time.h>\n#include <sys/types.h>\n#include <sys/un.h>\n#include <sys/wait.h>\n#include <linux/mman.h>\n\n#include <linux/memfd.h>\n#include <linux/dma-buf.h>\n#include <linux/udmabuf.h>\n\n#include \"liburing.h\"\n#include \"helpers.h\"\n\nenum {\n\tRQ_ALLOC_USER,\n\tRQ_ALLOC_KERNEL,\n\n\t__RQ_ALLOC_MAX,\n};\n\nstatic long page_size;\n#define AREA_SIZE (8192 * page_size)\n\n#define REQ_TYPE_SHIFT\t3\n#define REQ_TYPE_MASK\t((1UL << REQ_TYPE_SHIFT) - 1)\n\nenum {\n\tAREA_TYPE_NORMAL,\n\tAREA_TYPE_HUGE_PAGES,\n\tAREA_TYPE_DMABUF,\n\t__AREA_TYPE_MAX,\n};\n\nenum {\n\tREQ_TYPE_ACCEPT\t\t= 1,\n\tREQ_TYPE_RX\t\t= 2,\n};\n\nstatic int cfg_port = 8000;\nstatic const char *cfg_ifname;\nstatic int cfg_queue_id = -1;\nstatic bool cfg_verify_data = false;\nstatic size_t cfg_size = 0;\nstatic unsigned cfg_rq_alloc_mode = RQ_ALLOC_USER;\nstatic unsigned cfg_area_type = AREA_TYPE_NORMAL;\nstatic struct sockaddr_in6 cfg_addr;\n\nstatic void *area_ptr;\nstatic void *ring_ptr;\nstatic size_t ring_size;\nstatic struct io_uring_zcrx_rq rq_ring;\nstatic unsigned long area_token;\nstatic int connfd;\nstatic bool stop;\nstatic size_t received;\nstatic __u32 zcrx_id;\n\nstatic int dmabuf_fd;\nstatic int memfd;\n\nstatic inline size_t get_refill_ring_size(unsigned int rq_entries)\n{\n\tring_size = rq_entries * sizeof(struct io_uring_zcrx_rqe);\n\t/* add space for the header (head/tail/etc.) */\n\tring_size += page_size;\n\treturn T_ALIGN_UP(ring_size, page_size);\n}\n\nstatic void zcrx_populate_area_udmabuf(struct io_uring_zcrx_area_reg *area_reg)\n{\n\tstruct udmabuf_create create;\n\tint ret, devfd;\n\n\tdevfd = open(\"/dev/udmabuf\", O_RDWR);\n\tif (devfd < 0)\n\t\tt_error(1, devfd, \"Failed to open udmabuf dev\");\n\n\tmemfd = memfd_create(\"udmabuf-test\", MFD_ALLOW_SEALING);\n\tif (memfd < 0)\n\t\tt_error(1, memfd, \"Failed to open udmabuf dev\");\n\n\tret = fcntl(memfd, F_ADD_SEALS, F_SEAL_SHRINK);\n\tif (ret < 0)\n\t\tt_error(1, 0, \"Failed to set seals\");\n\n\tret = ftruncate(memfd, AREA_SIZE);\n\tif (ret == -1)\n\t\tt_error(1, 0, \"Failed to resize udmabuf\");\n\n\tmemset(&create, 0, sizeof(create));\n\tcreate.memfd = memfd;\n\tcreate.offset = 0;\n\tcreate.size = AREA_SIZE;\n\tdmabuf_fd = ioctl(devfd, UDMABUF_CREATE, &create);\n\tif (dmabuf_fd < 0)\n\t\tt_error(1, dmabuf_fd, \"Failed to create udmabuf\");\n\n\tarea_ptr = mmap(NULL, AREA_SIZE, PROT_READ | PROT_WRITE, MAP_SHARED,\n\t\t\tdmabuf_fd, 0);\n\tif (area_ptr == MAP_FAILED)\n\t\tt_error(1, 0, \"Failed to mmap udmabuf\");\n\n\tmemset(area_reg, 0, sizeof(*area_reg));\n\tarea_reg->addr = 0; /* offset into dmabuf */\n\tarea_reg->len = AREA_SIZE;\n\tarea_reg->flags |= IORING_ZCRX_AREA_DMABUF;\n\tarea_reg->dmabuf_fd = dmabuf_fd;\n\n\tclose(devfd);\n}\n\nstatic void zcrx_populate_area(struct io_uring_zcrx_area_reg *area_reg)\n{\n\tunsigned flags = MAP_PRIVATE | MAP_ANONYMOUS;\n\tunsigned prot = PROT_READ | PROT_WRITE;\n\n\tif (cfg_area_type == AREA_TYPE_DMABUF) {\n\t\tzcrx_populate_area_udmabuf(area_reg);\n\t\treturn;\n\t}\n\tif (cfg_area_type == AREA_TYPE_NORMAL) {\n\t\tarea_ptr = mmap(NULL, AREA_SIZE, prot,\n\t\t\t\tflags, 0, 0);\n\t} else if (cfg_area_type == AREA_TYPE_HUGE_PAGES) {\n\t\tarea_ptr = mmap(NULL, AREA_SIZE, prot,\n\t\t\t\tflags | MAP_HUGETLB | MAP_HUGE_2MB, -1, 0);\n\t}\n\n\tif (area_ptr == MAP_FAILED)\n\t\tt_error(1, 0, \"mmap(): area allocation failed\");\n\n\tmemset(area_reg, 0, sizeof(*area_reg));\n\tarea_reg->addr = uring_ptr_to_u64(area_ptr);\n\tarea_reg->len = AREA_SIZE;\n\tarea_reg->flags = 0;\n}\n\nstatic void setup_zcrx(struct io_uring *ring)\n{\n\tstruct io_uring_zcrx_area_reg area_reg;\n\tunsigned int ifindex;\n\tunsigned int rq_entries = 4096;\n\tunsigned rq_flags = 0;\n\tint ret;\n\n\tifindex = if_nametoindex(cfg_ifname);\n\tif (!ifindex)\n\t\tt_error(1, 0, \"bad interface name: %s\", cfg_ifname);\n\n\tring_size = get_refill_ring_size(rq_entries);\n\tring_ptr = NULL;\n\tif (cfg_rq_alloc_mode == RQ_ALLOC_USER) {\n\t\tring_ptr = mmap(NULL, ring_size,\n\t\t\t\tPROT_READ | PROT_WRITE,\n\t\t\t\tMAP_ANONYMOUS | MAP_PRIVATE,\n\t\t\t\t0, 0);\n\t\tif (ring_ptr == MAP_FAILED)\n\t\t\tt_error(1, 0, \"mmap(): refill ring\");\n\t\trq_flags |= IORING_MEM_REGION_TYPE_USER;\n\t}\n\n\tstruct io_uring_region_desc region_reg = {\n\t\t.size = ring_size,\n\t\t.user_addr = uring_ptr_to_u64(ring_ptr),\n\t\t.flags = rq_flags,\n\t};\n\n\tzcrx_populate_area(&area_reg);\n\n\tstruct io_uring_zcrx_ifq_reg reg = {\n\t\t.if_idx = ifindex,\n\t\t.if_rxq = cfg_queue_id,\n\t\t.rq_entries = rq_entries,\n\t\t.area_ptr = uring_ptr_to_u64(&area_reg),\n\t\t.region_ptr = uring_ptr_to_u64(&region_reg),\n\t};\n\n\tret = io_uring_register_ifq(ring, &reg);\n\tif (ret)\n\t\tt_error(1, 0, \"io_uring_register_ifq(): %d\", ret);\n\n\tif (cfg_rq_alloc_mode == RQ_ALLOC_KERNEL) {\n\t\tring_ptr = mmap(NULL, ring_size,\n\t\t\t\tPROT_READ | PROT_WRITE,\n\t\t\t\tMAP_SHARED | MAP_POPULATE,\n\t\t\t\tring->ring_fd, region_reg.mmap_offset);\n\t\tif (ring_ptr == MAP_FAILED)\n\t\t\tt_error(1, 0, \"mmap(): refill ring\");\n\t}\n\n\trq_ring.khead = (unsigned int *)((char *)ring_ptr + reg.offsets.head);\n\trq_ring.ktail = (unsigned int *)((char *)ring_ptr + reg.offsets.tail);\n\trq_ring.rqes = (struct io_uring_zcrx_rqe *)((char *)ring_ptr + reg.offsets.rqes);\n\trq_ring.rq_tail = 0;\n\trq_ring.ring_entries = reg.rq_entries;\n\n\tzcrx_id = reg.zcrx_id;\n\tarea_token = area_reg.rq_area_token;\n}\n\nstatic void add_accept(struct io_uring *ring, int sockfd)\n{\n\tstruct io_uring_sqe *sqe = io_uring_get_sqe(ring);\n\n\tio_uring_prep_accept(sqe, sockfd, NULL, NULL, 0);\n\tsqe->user_data = REQ_TYPE_ACCEPT;\n}\n\nstatic void add_recvzc(struct io_uring *ring, int sockfd, size_t len)\n{\n\tstruct io_uring_sqe *sqe = io_uring_get_sqe(ring);\n\n\tio_uring_prep_rw(IORING_OP_RECV_ZC, sqe, sockfd, NULL, len, 0);\n\tsqe->ioprio |= IORING_RECV_MULTISHOT;\n\tsqe->zcrx_ifq_idx = zcrx_id;\n\tsqe->user_data = REQ_TYPE_RX;\n}\n\nstatic void process_accept(struct io_uring *ring, struct io_uring_cqe *cqe)\n{\n\tif (cqe->res < 0)\n\t\tt_error(1, 0, \"accept()\");\n\tif (connfd)\n\t\tt_error(1, 0, \"Unexpected second connection\");\n\n\tconnfd = cqe->res;\n\tadd_recvzc(ring, connfd, cfg_size);\n}\n\nstatic void verify_data(char *data, size_t size, unsigned long seq)\n{\n\tint i;\n\n\tif (!cfg_verify_data)\n\t\treturn;\n\n\tfor (i = 0; i < size; i++) {\n\t\tchar expected = 'a' + (seq + i) % 26;\n\n\t\tif (data[i] != expected)\n\t\t\tt_error(1, 0, \"payload mismatch at %i: expected %i vs got %i, seq %li\",\n\t\t\t\ti, expected, data[i], seq);\n\t}\n}\n\nstatic void process_recvzc(struct io_uring __attribute__((unused)) *ring,\n\t\t\t   struct io_uring_cqe *cqe)\n{\n\tunsigned rq_mask = rq_ring.ring_entries - 1;\n\tstruct io_uring_zcrx_cqe *rcqe;\n\tstruct io_uring_zcrx_rqe *rqe;\n\tuint64_t mask;\n\tchar *data;\n\n\tif (!(cqe->flags & IORING_CQE_F_MORE)) {\n\t\tif (!cfg_size || cqe->res != 0)\n\t\t\tt_error(1, 0, \"invalid final recvzc ret %i\", cqe->res);\n\t\tif (received != cfg_size)\n\t\t\tt_error(1, 0, \"total receive size mismatch %lu / %lu\",\n\t\t\t\treceived, cfg_size);\n\t\tstop = true;\n\t\treturn;\n\t}\n\tif (cqe->res < 0)\n\t\tt_error(1, 0, \"recvzc(): %d\", cqe->res);\n\n\trcqe = (struct io_uring_zcrx_cqe *)(cqe + 1);\n\tmask = (1ULL << IORING_ZCRX_AREA_SHIFT) - 1;\n\tdata = (char *)area_ptr + (rcqe->off & mask);\n\n\tverify_data(data, cqe->res, received);\n\treceived += cqe->res;\n\n\t/* processed, return back to the kernel */\n\trqe = &rq_ring.rqes[rq_ring.rq_tail & rq_mask];\n\trqe->off = (rcqe->off & ~IORING_ZCRX_AREA_MASK) | area_token;\n\trqe->len = cqe->res;\n\tio_uring_smp_store_release(rq_ring.ktail, ++rq_ring.rq_tail);\n}\n\nstatic void server_loop(struct io_uring *ring)\n{\n\tstruct io_uring_cqe *cqe;\n\tunsigned int head, count = 0;\n\n\tio_uring_submit_and_wait(ring, 1);\n\n\tio_uring_for_each_cqe(ring, head, cqe) {\n\t\tswitch (cqe->user_data & REQ_TYPE_MASK) {\n\t\tcase REQ_TYPE_ACCEPT:\n\t\t\tprocess_accept(ring, cqe);\n\t\t\tbreak;\n\t\tcase REQ_TYPE_RX:\n\t\t\tprocess_recvzc(ring, cqe);\n\t\t\tbreak;\n\t\tdefault:\n\t\t\tt_error(1, 0, \"unknown cqe\");\n\t\t}\n\t\tcount++;\n\t}\n\tio_uring_cq_advance(ring, count);\n}\n\nstatic void run_server(void)\n{\n\tunsigned int flags = 0;\n\tstruct io_uring ring;\n\tint fd, enable, ret;\n\n\tfd = socket(AF_INET6, SOCK_STREAM, 0);\n\tif (fd == -1)\n\t\tt_error(1, 0, \"socket()\");\n\n\tenable = 1;\n\tret = setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(int));\n\tif (ret < 0)\n\t\tt_error(1, 0, \"setsockopt(SO_REUSEADDR)\");\n\n\tret = bind(fd, (struct sockaddr *)&cfg_addr, sizeof(cfg_addr));\n\tif (ret < 0)\n\t\tt_error(1, 0, \"bind()\");\n\n\tif (listen(fd, 1024) < 0)\n\t\tt_error(1, 0, \"listen()\");\n\n\tflags |= IORING_SETUP_COOP_TASKRUN;\n\tflags |= IORING_SETUP_SINGLE_ISSUER;\n\tflags |= IORING_SETUP_DEFER_TASKRUN;\n\tflags |= IORING_SETUP_SUBMIT_ALL;\n\tflags |= IORING_SETUP_CQE32;\n\n\tret = io_uring_queue_init(512, &ring, flags);\n\tif (ret)\n\t\tt_error(1, ret, \"ring init failed\");\n\n\tsetup_zcrx(&ring);\n\tadd_accept(&ring, fd);\n\n\twhile (!stop)\n\t\tserver_loop(&ring);\n}\n\nstatic void usage(const char *filepath)\n{\n\tt_error(1, 0, \"Usage: %s (-4|-6) -p<port> -i<ifname> -q<rxq_id>\", filepath);\n}\n\nstatic void parse_opts(int argc, char **argv)\n{\n\tstruct sockaddr_in6 *addr6 = (void *) &cfg_addr;\n\tint c;\n\n\tif (argc <= 1)\n\t\tusage(argv[0]);\n\n\twhile ((c = getopt(argc, argv, \"vp:i:q:s:r:A:\")) != -1) {\n\t\tswitch (c) {\n\t\tcase 'p':\n\t\t\tcfg_port = strtoul(optarg, NULL, 0);\n\t\t\tbreak;\n\t\tcase 'i':\n\t\t\tcfg_ifname = optarg;\n\t\t\tbreak;\n\t\tcase 's':\n\t\t\tcfg_size = strtoul(optarg, NULL, 0);\n\t\t\tbreak;\n\t\tcase 'q':\n\t\t\tcfg_queue_id = strtoul(optarg, NULL, 0);\n\t\t\tbreak;\n\t\tcase 'v':\n\t\t\tcfg_verify_data = true;\n\t\t\tbreak;\n\t\tcase 'r':\n\t\t\tcfg_rq_alloc_mode = strtoul(optarg, NULL, 0);\n\t\t\tif (cfg_rq_alloc_mode >= __RQ_ALLOC_MAX)\n\t\t\t\tt_error(1, 0, \"invalid RQ allocation mode\");\n\t\t\tbreak;\n\t\tcase 'A':\n\t\t\tcfg_area_type = strtoul(optarg, NULL, 0);\n\t\t\tif (cfg_area_type >= __AREA_TYPE_MAX)\n\t\t\t\tt_error(1, 0, \"Invalid area type\");\n\t\t\tbreak;\n\t\t}\n\t}\n\n\tmemset(addr6, 0, sizeof(*addr6));\n\taddr6->sin6_family = AF_INET6;\n\taddr6->sin6_port = htons(cfg_port);\n\taddr6->sin6_addr = in6addr_any;\n}\n\nint main(int argc, char **argv)\n{\n\tpage_size = sysconf(_SC_PAGESIZE);\n\tif (page_size < 0) {\n\t\tperror(\"sysconf(_SC_PAGESIZE)\");\n\t\treturn 1;\n\t}\n\n\tparse_opts(argc, argv);\n\trun_server();\n\treturn 0;\n}\n"},
                          "roles": ["analysisTarget",
                                    "tracedFile"]}],
           "results": [{"ruleId": "-Wanalyzer-fd-use-without-check",
                        "properties": {"gcc/analyzer/saved_diagnostic/sm": "file-descriptor",
                                       "gcc/analyzer/saved_diagnostic/ploc": {"enode": 2846},
                                       "gcc/analyzer/saved_diagnostic/sval": "UNMERGEABLE((int)-1)",
                                       "gcc/analyzer/saved_diagnostic/state": "fd-invalid",
                                       "gcc/analyzer/saved_diagnostic/idx": 8,
                                       "gcc/analyzer/saved_diagnostic/duplicates": [{"properties": {"gcc/analyzer/saved_diagnostic/sm": "file-descriptor",
                                                                                                    "gcc/analyzer/saved_diagnostic/ploc": {"enode": 235},
                                                                                                    "gcc/analyzer/saved_diagnostic/sval": "UNMERGEABLE((int)-1)",
                                                                                                    "gcc/analyzer/saved_diagnostic/state": "fd-invalid",
                                                                                                    "gcc/analyzer/saved_diagnostic/idx": 1,
                                                                                                    "gcc/analyzer/pending_diagnostic/kind": "fd_use_without_check"}},
                                                                                    {"properties": {"gcc/analyzer/saved_diagnostic/sm": "file-descriptor",
                                                                                                    "gcc/analyzer/saved_diagnostic/ploc": {"enode": 235},
                                                                                                    "gcc/analyzer/saved_diagnostic/sval": "UNMERGEABLE((int)-1)",
                                                                                                    "gcc/analyzer/saved_diagnostic/state": "fd-invalid",
                                                                                                    "gcc/analyzer/saved_diagnostic/idx": 0,
                                                                                                    "gcc/analyzer/pending_diagnostic/kind": "fd_use_without_check"}},
                                                                                    {"properties": {"gcc/analyzer/saved_diagnostic/sm": "file-descriptor",
                                                                                                    "gcc/analyzer/saved_diagnostic/ploc": {"enode": 2846},
                                                                                                    "gcc/analyzer/saved_diagnostic/sval": "UNMERGEABLE((int)-1)",
                                                                                                    "gcc/analyzer/saved_diagnostic/state": "fd-invalid",
                                                                                                    "gcc/analyzer/saved_diagnostic/idx": 9,
                                                                                                    "gcc/analyzer/pending_diagnostic/kind": "fd_use_without_check"}}],
                                       "gcc/analyzer/pending_diagnostic/kind": "fd_use_without_check"},
                        "level": "warning",
                        "message": {"text": "‘listen’ on possibly invalid file descriptor ‘fd’"},
                        "locations": [{"physicalLocation": {"artifactLocation": {"uri": "zcrx.c",
                                                                                 "uriBaseId": "PWD"},
                                                            "region": {"startLine": 356,
                                                                       "startColumn": 13,
                                                                       "endColumn": 29},
                                                            "contextRegion": {"startLine": 356,
                                                                              "snippet": {"text": "\tif (listen(fd, 1024) < 0)\n"}}},
                                       "logicalLocations": [{"index": 0,
                                                             "fullyQualifiedName": "run_server"}]}],
                        "codeFlows": [{"threadFlows": [{"id": "main",
                                                        "locations": [{"properties": {"gcc/analyzer/checker_event/emission_id": "(1)",
                                                                                      "gcc/analyzer/checker_event/kind": "custom"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "zcrx.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 343,
                                                                                                                    "startColumn": 14,
                                                                                                                    "endColumn": 46},
                                                                                                         "contextRegion": {"startLine": 343,
                                                                                                                           "snippet": {"text": "\tfd = socket(AF_INET6, SOCK_STREAM, 0);\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "run_server"}],
                                                                                    "message": {"text": "when ‘socket’ fails"}},
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 1},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(2)",
                                                                                      "gcc/analyzer/checker_event/kind": "start_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 87,
                                                                                                                                 "dst_id": 88}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "zcrx.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 344,
                                                                                                                    "startColumn": 12,
                                                                                                                    "endColumn": 13},
                                                                                                         "contextRegion": {"startLine": 344,
                                                                                                                           "snippet": {"text": "\tif (fd == -1)\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "run_server"}],
                                                                                    "message": {"text": "following ‘true’ branch (when ‘fd == -1’)..."}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 2},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(3)",
                                                                                      "gcc/analyzer/checker_event/kind": "end_cfg_edge",
                                                                                      "gcc/analyzer/superedge_event/superedge": {"src_id": 87,
                                                                                                                                 "dst_id": 88}},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "zcrx.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 345,
                                                                                                                    "startColumn": 17,
                                                                                                                    "endColumn": 42},
                                                                                                         "contextRegion": {"startLine": 345,
                                                                                                                           "snippet": {"text": "\t\tt_error(1, 0, \"socket()\");\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "run_server"}],
                                                                                    "message": {"text": "...to here"}},
                                                                       "kinds": ["branch",
                                                                                 "true"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 3},
                                                                      {"properties": {"gcc/analyzer/checker_event/emission_id": "(4)",
                                                                                      "gcc/analyzer/checker_event/kind": "warning"},
                                                                       "location": {"physicalLocation": {"artifactLocation": {"uri": "zcrx.c",
                                                                                                                              "uriBaseId": "PWD"},
                                                                                                         "region": {"startLine": 356,
                                                                                                                    "startColumn": 13,
                                                                                                                    "endColumn": 29},
                                                                                                         "contextRegion": {"startLine": 356,
                                                                                                                           "snippet": {"text": "\tif (listen(fd, 1024) < 0)\n"}}},
                                                                                    "logicalLocations": [{"index": 0,
                                                                                                          "fullyQualifiedName": "run_server"}],
                                                                                    "message": {"text": "‘fd’ could be invalid"}},
                                                                       "kinds": ["danger"],
                                                                       "nestingLevel": 1,
                                                                       "executionOrder": 4}]}]}]}],
           "logicalLocations": [{"name": "run_server",
                                 "fullyQualifiedName": "run_server",
                                 "decoratedName": "run_server",
                                 "kind": "function",
                                 "index": 0}]}]}
