-*- mode: compilation; default-directory: "/home/amurray/ubuntu/security/audits/gpsd/focal/gpsd-3.20"; -*- .sconf_temp/conftest_12.c:6 Type: Parse warning (PW.BOOLEAN_CONTROLLING_EXPR_IS_CONSTANT) .sconf_temp/conftest_12.c:6: 1. boolean_controlling_expr_is_constant: controlling expression is constant .sconf_temp/conftest_16.c:3 Type: Unrecoverable parse warning (PARSE_ERROR) .sconf_temp/conftest_16.c:3: 1. error_directive: #error directive: __STDC_NO_ATOMICS__ is not defined .sconf_temp/conftest_30.c:2 Type: Unrecoverable parse warning (PARSE_ERROR) .sconf_temp/conftest_30.c:2: 1. cannot_open_file: cannot open source file "winsock2.h" .sconf_temp/conftest_36.c:14 Type: Unchecked return value from library (CHECKED_RETURN) .sconf_temp/conftest_36.c:14: 1. check_return: Calling "fcntl()" without checking return value. This library function may fail and return an error code. cgps.c:1017 Type: Large stack use (STACK_USE) cgps.c:1017: stack_use_local_overflow: Local variable "message" uses 10240 bytes of stack space, which exceeds the maximum single use of 10000 bytes. driver_greis.c:42 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:42: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:42 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:42: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:43 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:43: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:43 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:43: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:44 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:44: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:44 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:44: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:45 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:45: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:45 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:45: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:50 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:50: 1. unrecognized_char_escape: unrecognized character escape sequence driver_greis.c:50 Type: Parse warning (PW.UNRECOGNIZED_CHAR_ESCAPE) driver_greis.c:50: 1. unrecognized_char_escape: unrecognized character escape sequence driver_sirf.c:432 Type: Large stack use (STACK_USE) driver_sirf.c:432: stack_use_local_overflow: Local variable "msgbuf" uses 27652 bytes of stack space, which exceeds the maximum single use of 10000 bytes. driver_sirf.c:703 Type: Dead default in switch (DEADCODE) driver_sirf.c:678: dead_error_condition: The "switch" governing value "solution_info & 7U" cannot reach the "default" case. driver_sirf.c:703: dead_error_begin: Execution cannot reach this statement: "default:". driver_tsip.c:148 Type: Uninitialized scalar variable (UNINIT) driver_tsip.c:64: 1. var_decl: Declaring variable "gnssid" without initializer. driver_tsip.c:68: 2. path: Switch case value "0U". driver_tsip.c:70: 3. path: Condition "0 < prn", taking true branch. driver_tsip.c:70: 4. path: Condition "33 > prn", taking false branch. driver_tsip.c:73: 5. path: Condition "32 < prn", taking true branch. driver_tsip.c:73: 6. path: Condition "55 > prn", taking false branch. driver_tsip.c:77: 7. path: Condition "64 < prn", taking true branch. driver_tsip.c:77: 8. path: Condition "97 > prn", taking false branch. driver_tsip.c:81: 9. path: Condition "96 < prn", taking true branch. driver_tsip.c:81: 10. path: Condition "134 > prn", taking false branch. driver_tsip.c:85: 11. path: Condition "119 < prn", taking true branch. driver_tsip.c:85: 12. path: Condition "139 > prn", taking false branch. driver_tsip.c:89: 13. path: Condition "183 == prn", taking false branch. driver_tsip.c:92: 14. path: Condition "192 >= prn", taking false branch. driver_tsip.c:95: 15. path: Condition "200 == prn", taking false branch. driver_tsip.c:98: 16. path: Condition "200 < prn", taking true branch. driver_tsip.c:98: 17. path: Condition "238 > prn", taking false branch. driver_tsip.c:104: 18. path: Breaking from switch. driver_tsip.c:148: 19. uninit_use: Using uninitialized value "gnssid". driver_zodiac.c:171 Type: Unintended sign extension (SIGN_EXTENSION) driver_zodiac.c:171: sign_extension: Suspicious implicit sign extension: "session->lexer.outbuffer[51]" with type "unsigned char" (8 bits, unsigned) is promoted in "session->lexer.outbuffer[48] | (session->lexer.outbuffer[49] << 8) | (session->lexer.outbuffer[50] << 16) | (session->lexer.outbuffer[51] << 24)" to type "int" (32 bits, signed), then sign-extended to type "long" (64 bits, signed). If "session->lexer.outbuffer[48] | (session->lexer.outbuffer[49] << 8) | (session->lexer.outbuffer[50] << 16) | (session->lexer.outbuffer[51] << 24)" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. driver_zodiac.c:227 Type: Unintended sign extension (SIGN_EXTENSION) driver_zodiac.c:227: sign_extension: Suspicious implicit sign extension: "session->lexer.outbuffer[23]" with type "unsigned char" (8 bits, unsigned) is promoted in "session->lexer.outbuffer[20] | (session->lexer.outbuffer[21] << 8) | (session->lexer.outbuffer[22] << 16) | (session->lexer.outbuffer[23] << 24)" to type "int" (32 bits, signed), then sign-extended to type "long" (64 bits, signed). If "session->lexer.outbuffer[20] | (session->lexer.outbuffer[21] << 8) | (session->lexer.outbuffer[22] << 16) | (session->lexer.outbuffer[23] << 24)" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. driver_zodiac.c:228 Type: Unintended sign extension (SIGN_EXTENSION) driver_zodiac.c:228: sign_extension: Suspicious implicit sign extension: "session->lexer.outbuffer[27]" with type "unsigned char" (8 bits, unsigned) is promoted in "session->lexer.outbuffer[24] | (session->lexer.outbuffer[25] << 8) | (session->lexer.outbuffer[26] << 16) | (session->lexer.outbuffer[27] << 24)" to type "int" (32 bits, signed), then sign-extended to type "long" (64 bits, signed). If "session->lexer.outbuffer[24] | (session->lexer.outbuffer[25] << 8) | (session->lexer.outbuffer[26] << 16) | (session->lexer.outbuffer[27] << 24)" is greater than 0x7FFFFFFF, the upper bits of the result will all be 1. drivers.c:1631 Type: Large stack use (STACK_USE) drivers.c:1631: stack_use_local_overflow: Local variable "copy" uses 18436 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gps2udp.c:463 Type: Out-of-bounds write (OVERRUN) gps2udp.c:353: 1. path: Condition "(option = getopt(argc, argv, "?habnjvc:l:u:d:")) != -1", taking true branch. gps2udp.c:355: 2. path: Switch case value "100". gps2udp.c:358: 3. path: Condition "debug < 1", taking false branch. gps2udp.c:358: 4. path: Condition "debug > 2", taking false branch. gps2udp.c:362: 5. path: Breaking from switch. gps2udp.c:401: 6. path: Jumping back to the beginning of the loop. gps2udp.c:353: 7. path: Condition "(option = getopt(argc, argv, "?habnjvc:l:u:d:")) != -1", taking true branch. gps2udp.c:355: 8. path: Switch case value "110". gps2udp.c:364: 9. path: Condition "debug > 0", taking true branch. gps2udp.c:367: 10. path: Breaking from switch. gps2udp.c:401: 11. path: Jumping back to the beginning of the loop. gps2udp.c:353: 12. path: Condition "(option = getopt(argc, argv, "?habnjvc:l:u:d:")) != -1", taking true branch. gps2udp.c:355: 13. path: Switch case value "110". gps2udp.c:364: 14. path: Condition "debug > 0", taking true branch. gps2udp.c:367: 15. path: Breaking from switch. gps2udp.c:401: 16. path: Jumping back to the beginning of the loop. gps2udp.c:353: 17. path: Condition "(option = getopt(argc, argv, "?habnjvc:l:u:d:")) != -1", taking true branch. gps2udp.c:355: 18. path: Switch case value "106". gps2udp.c:369: 19. path: Condition "debug > 0", taking true branch. gps2udp.c:372: 20. path: Breaking from switch. gps2udp.c:401: 21. path: Jumping back to the beginning of the loop. gps2udp.c:353: 22. path: Condition "(option = getopt(argc, argv, "?habnjvc:l:u:d:")) != -1", taking false branch. gps2udp.c:404: 23. path: Condition "optind < argc", taking true branch. gps2udp.c:405: 24. path: Falling through to end of if statement. gps2udp.c:408: 25. path: Condition "gpsd_source.device != NULL", taking true branch. gps2udp.c:415: 26. path: Condition "udpchannel > 0", taking true branch. gps2udp.c:417: 27. path: Condition "status != 0", taking false branch. gps2udp.c:421: 28. path: Condition "daemonize", taking false branch. gps2udp.c:430: 29. path: Condition "true", taking true branch. gps2udp.c:438: 30. path: Condition "len > 3", taking false branch. gps2udp.c:487: 31. path: Jumping back to the beginning of the loop. gps2udp.c:430: 32. path: Condition "true", taking true branch. gps2udp.c:438: 33. path: Condition "len > 3", taking true branch. gps2udp.c:440: 34. path: Condition "debug > 0", taking true branch. gps2udp.c:445: 35. path: Condition "str_starts_with(buffer, "!AIVDM")", taking true branch. gps2udp.c:457: 36. path: Condition "j < 6", taking true branch. gps2udp.c:459: 37. path: Jumping back to the beginning of the loop. gps2udp.c:457: 38. path: Condition "j < 6", taking true branch. gps2udp.c:459: 39. path: Jumping back to the beginning of the loop. gps2udp.c:457: 40. path: Condition "j < 6", taking true branch. gps2udp.c:459: 41. path: Jumping back to the beginning of the loop. gps2udp.c:457: 42. path: Condition "j < 6", taking false branch. gps2udp.c:461: 43. path: Condition "i < (int)strlen((char *)info[5])", taking true branch. gps2udp.c:462: 44. path: Condition "i > 255 /* (int)sizeof (bitstrings) */", taking false branch. gps2udp.c:464: 45. path: Jumping back to the beginning of the loop. gps2udp.c:461: 46. path: Condition "i < (int)strlen((char *)info[5])", taking true branch. gps2udp.c:462: 47. path: Condition "i > 255 /* (int)sizeof (bitstrings) */", taking false branch. gps2udp.c:462: 48. cond_at_most: Checking "i > 255" implies that "i" may be up to 255 on the false branch. gps2udp.c:463: 49. overrun-local: Overrunning array "bitstrings" of 255 bytes at byte offset 255 using index "i" (which evaluates to 255). gpsctl.c:193 Type: Large stack use (STACK_USE) gpsctl.c:193: stack_use_local_overflow: Local variable "gpsdata" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:584 Type: Large stack use (STACK_USE) gpsd.c:584: stack_use_local_overflow: Local variable "buf2" uses 27648 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:1431 Type: Large stack use (STACK_USE) gpsd.c:1431: stack_use_local_overflow: Local variable "buf" uses 27652 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:1498 Type: Large stack use (STACK_USE) gpsd.c:1498: stack_use_local_overflow: Local variable "id2" uses 10240 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:1675 Type: Large stack use (STACK_USE) gpsd.c:1675: stack_use_local_overflow: Local variable "buf" uses 40960 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:1701 Type: Large stack use (STACK_USE) gpsd.c:1701: stack_use_local_overflow: Local variable "reply" uses 10244 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:1724 Type: Large stack use (STACK_USE) gpsd.c:1724: stack_use_local_overflow: Local variable "buf" uses 10240 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd.c:2341 Type: Large stack use (STACK_USE) gpsd.c:2341: stack_use_local_overflow: Local variable "announce" uses 10240 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsd_json.c:1512 Type: Large stack use (STACK_USE) gpsd_json.c:1512: stack_use_local_overflow: Local variable "scratchbuf" uses 18436 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsdecode.c:59 Type: Large stack use (STACK_USE) gpsdecode.c:59: stack_use_local_overflow: Local variable "scratchbuf" uses 18436 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsdecode.c:528 Type: Large stack use (STACK_USE) gpsdecode.c:528: stack_use_local_overflow: Local variable "buf" uses 27652 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsdecode.c:556 Type: Large stack use (STACK_USE) gpsdecode.c:556: stack_use_local_overflow: Local variable "session" uses 115720 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsdecode.c:560 Type: Large stack use (STACK_USE) gpsdecode.c:560: stack_use_local_overflow: Local variable "buf" uses 40960 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsdecode.c:585 Type: Large stack use (STACK_USE) gpsdecode.c:556: stack_use_local: Local variable "session" stack use: 115720 bytes -> 115736 bytes total. gpsdecode.c:557: stack_use_local: Local variable "policy" stack use: 272 bytes -> 116008 bytes total. gpsdecode.c:558: stack_use_local: Local variable "minima" stack use: 168 bytes -> 116176 bytes total. gpsdecode.c:560: stack_use_local: Local variable "buf" stack use: 40960 bytes -> 157136 bytes total. gpsdecode.c:562: stack_use_local: Local variable "i" stack use: 4 bytes -> 157140 bytes total. gpsdecode.c:566: stack_use_return: Return value for "memset(&policy, 0, 272UL)" stack use: 8 bytes -> 157148 bytes total. gpsdecode.c:577: stack_use_return: Return value for "strlcpy(session.gpsdata.dev.path, "stdin", 128UL)" stack use: 8 bytes -> 157156 bytes total. gpsdecode.c:585: stack_use_local: Local variable "changed" stack use: 8 bytes -> 157164 bytes total. gpsdecode.c:592: stack_use_return: Return value for "fputs((char *)session.lexer.outbuffer, fpout)" stack use: 4 bytes -> 157168 bytes total. gpsdecode.c:598: stack_use_return: Return value for "filter(changed, &session)" stack use: 4 bytes -> 157172 bytes total. gpsdecode.c:602: stack_use_return: Return value for "fputs((char *)session.lexer.outbuffer, fpout)" stack use: 4 bytes -> 157176 bytes total. gpsdecode.c:603: stack_use_return: Return value for "fputs("\n", fpout)" stack use: 4 bytes -> 157180 bytes total. gpsdecode.c:614: stack_use_return: Return value for "fputs(buf, fpout)" stack use: 4 bytes -> 157184 bytes total. gpsdecode.c:623: stack_use_return: Return value for "fputs(buf, fpout)" stack use: 4 bytes -> 157188 bytes total. gpsdecode.c:636: stack_use_local: Local variable "dp" stack use: 8 bytes -> 157196 bytes total. gpsdecode.c:637: stack_use_local: Local variable "np" stack use: 8 bytes -> 157204 bytes total. gpsdecode.c:644: stack_use_return: Return value for "printf("%s (%d): %u\n", np, i - 1, (unsigned int)minima[i])" stack use: 4 bytes -> 157208 bytes total. gpsdecode.c:585: stack_use_callee: "gpsd_poll(&session)" stack use: 128496 bytes -> 285704 bytes total. libgpsd_core.c:1344: stack_use_local_decl: Declaration "ssize_t newlen" uses 8 bytes of stack space. libgpsd_core.c:1345: stack_use_local_decl: Declaration "_Bool driver_change" uses 4 bytes of stack space. libgpsd_core.c:1346: stack_use_local_decl: Declaration "timespec_t ts_now" uses 16 bytes of stack space. libgpsd_core.c:1347: stack_use_local_decl: Declaration "timespec_t delta" uses 16 bytes of stack space. libgpsd_core.c:1348: stack_use_local_decl: Declaration "char ts_buf[22]" uses 24 bytes of stack space. libgpsd_core.c:1390: stack_use_return: Return value "clock_gettime" uses 4 bytes of stack space. libgpsd_core.c:1395: stack_use_local_decl: Declaration "double const min_cycle" uses 8 bytes of stack space. libgpsd_core.c:1400: stack_use_local_decl: Declaration "double quiet_time" uses 8 bytes of stack space. libgpsd_core.c:1401: stack_use_local_decl: Declaration "double gap" uses 8 bytes of stack space. libgpsd_core.c:1439: stack_use_return: Return value "clock_gettime" uses 4 bytes of stack space. libgpsd_core.c:1470: stack_use_return: Return value "strcmp" uses 4 bytes of stack space. libgpsd_core.c:1483: stack_use_local_decl: Declaration "int newtype" uses 4 bytes of stack space. libgpsd_core.c:1488: stack_use_local_decl: Declaration "_Bool new_packet_type" uses 4 bytes of stack space. libgpsd_core.c:1498: stack_use_local_decl: Declaration "_Bool dependent_nmea" uses 4 bytes of stack space. libgpsd_core.c:1512: stack_use_local_decl: Declaration "struct gps_type_t const **dp" uses 8 bytes of stack space. libgpsd_core.c:1519: stack_use_return: Return value "gpsd_switch_driver" uses 4 bytes of stack space. libgpsd_core.c:1527: stack_use_return: Return value "hunt_failure" uses 4 bytes of stack space. libgpsd_core.c:1527: stack_use_return: Return value "gpsd_next_hunt_setting" uses 4 bytes of stack space. libgpsd_core.c:1528: stack_use_return: Return value "clock_gettime" uses 4 bytes of stack space. libgpsd_core.c:1544: stack_use_local_decl: Declaration "gps_mask_t received" uses 8 bytes of stack space. libgpsd_core.c:1545: stack_use_return: Return value "clock_gettime" uses 4 bytes of stack space. libgpsd_core.c:1554: stack_use_local_decl: Declaration "speed_t speed" uses 4 bytes of stack space. libgpsd_core.c:1557: stack_use_return: Return value "time" uses 8 bytes of stack space. libgpsd_core.c:1571: stack_use_local_decl: Declaration "_Bool saved" uses 4 bytes of stack space. libgpsd_core.c:1648: stack_use_return: Return value "fill_dop" uses 8 bytes of stack space. libgpsd_core.c:1696: stack_use_return: Return value "time" uses 8 bytes of stack space. libgpsd_core.c:1341: stack_use_base: Base stack usage is 200 bytes. libgpsd_core.c:1431: stack_use_callee_max: Function "generic_get" uses the most stack space, 128288 bytes. drivers.c:23: stack_use_return: Return value "packet_get" uses 8 bytes of stack space. drivers.c:21: stack_use_base: Base stack usage is 24 bytes. drivers.c:23: stack_use_callee_max: Function "packet_get" uses the most stack space, 128256 bytes. packet.c:2509: stack_use_local_decl: Declaration "ssize_t recvd" uses 8 bytes of stack space. packet.c:2528: stack_use_local_decl: Declaration "char scratchbuf[36865]" uses 36868 bytes of stack space. packet.c:2506: stack_use_base: Base stack usage is 36892 bytes. packet.c:2551: stack_use_callee_max: Function "packet_parse" uses the most stack space, 91352 bytes. packet.c:1846: stack_use_return: Return value "str_starts_with" uses 4 bytes of stack space. packet.c:1847: stack_use_return: Return value "str_starts_with" uses 4 bytes of stack space. packet.c:1848: stack_use_return: Return value "str_starts_with" uses 4 bytes of stack space. packet.c:1849: stack_use_return: Return value "str_starts_with" uses 4 bytes of stack space. packet.c:1864: stack_use_local_decl: Declaration "unsigned char *trailer" uses 8 bytes of stack space. packet.c:1865: stack_use_local_decl: Declaration "unsigned int checksum" uses 4 bytes of stack space. packet.c:1867: stack_use_local_decl: Declaration "unsigned int n" uses 4 bytes of stack space. packet.c:1867: stack_use_local_decl: Declaration "unsigned int crc" uses 4 bytes of stack space. packet.c:1890: stack_use_local_decl: Declaration "unsigned int a" uses 4 bytes of stack space. packet.c:1890: stack_use_local_decl: Declaration "unsigned int b" uses 4 bytes of stack space. packet.c:1891: stack_use_local_decl: Declaration "size_t n" uses 8 bytes of stack space. packet.c:1915: stack_use_local_decl: Declaration "char a" uses 4 bytes of stack space. packet.c:1915: stack_use_local_decl: Declaration "char b" uses 4 bytes of stack space. packet.c:1916: stack_use_local_decl: Declaration "int i" uses 4 bytes of stack space. packet.c:1916: stack_use_local_decl: Declaration "int len" uses 4 bytes of stack space. packet.c:1941: stack_use_local_decl: Declaration "size_t packetlen" uses 8 bytes of stack space. packet.c:1943: stack_use_local_decl: Declaration "unsigned int pos" uses 4 bytes of stack space. packet.c:1943: stack_use_local_decl: Declaration "unsigned int dlecnt" uses 4 bytes of stack space. packet.c:1960: stack_use_local_decl: Declaration "unsigned int pkt_id" uses 4 bytes of stack space. packet.c:1962: stack_use_local_decl: Declaration "unsigned int len" uses 4 bytes of stack space. packet.c:1963: stack_use_local_decl: Declaration "size_t n" uses 8 bytes of stack space. packet.c:1964: stack_use_local_decl: Declaration "unsigned int ch" uses 4 bytes of stack space. packet.c:1964: stack_use_local_decl: Declaration "unsigned int chksum" uses 4 bytes of stack space. packet.c:2225: stack_use_return: Return value "crc24q_check" uses 4 bytes of stack space. packet.c:2245: stack_use_local_decl: Declaration "short len" uses 4 bytes of stack space. packet.c:2245: stack_use_local_decl: Declaration "short n" uses 4 bytes of stack space. packet.c:2245: stack_use_local_decl: Declaration "short sum" uses 4 bytes of stack space. packet.c:2266: stack_use_local_decl: Declaration "int n" uses 4 bytes of stack space. packet.c:2266: stack_use_local_decl: Declaration "int len" uses 4 bytes of stack space. packet.c:2267: stack_use_local_decl: Declaration "unsigned char ck_a" uses 4 bytes of stack space. packet.c:2268: stack_use_local_decl: Declaration "unsigned char ck_b" uses 4 bytes of stack space. packet.c:2297: stack_use_local_decl: Declaration "unsigned int n" uses 4 bytes of stack space. packet.c:2297: stack_use_local_decl: Declaration "unsigned int crc" uses 4 bytes of stack space. packet.c:2297: stack_use_local_decl: Declaration "unsigned int checksum" uses 4 bytes of stack space. packet.c:2297: stack_use_local_decl: Declaration "unsigned int len" uses 4 bytes of stack space. packet.c:2350: stack_use_local_decl: Declaration "uint16_t volatile len" uses 4 bytes of stack space. packet.c:2350: stack_use_local_decl: Declaration "uint16_t volatile n" uses 4 bytes of stack space. packet.c:2350: stack_use_local_decl: Declaration "uint16_t volatile csum" uses 4 bytes of stack space. packet.c:2350: stack_use_local_decl: Declaration "uint16_t volatile xsum" uses 4 bytes of stack space. packet.c:2361: stack_use_local_decl: Declaration "uint16_t volatile tmpw" uses 4 bytes of stack space. packet.c:2362: stack_use_local_decl: Declaration "uint32_t volatile tmpdw" uses 4 bytes of stack space. packet.c:2392: stack_use_local_decl: Declaration "int n" uses 4 bytes of stack space. packet.c:2392: stack_use_local_decl: Declaration "int len" uses 4 bytes of stack space. packet.c:2393: stack_use_local_decl: Declaration "unsigned int cs" uses 4 bytes of stack space. packet.c:2416: stack_use_local_decl: Declaration "int len" uses 4 bytes of stack space. packet.c:2429: stack_use_local_decl: Declaration "unsigned char expected_cs" uses 4 bytes of stack space. packet.c:2430: stack_use_local_decl: Declaration "unsigned char cs" uses 4 bytes of stack space. packet.c:2470: stack_use_local_decl: Declaration "size_t packetlen" uses 8 bytes of stack space. packet.c:2484: stack_use_local_decl: Declaration "size_t packetlen" uses 8 bytes of stack space. packet.c:1747: stack_use_base: Base stack usage is 376 bytes. packet.c:1754: stack_use_callee_max: Function "nextstate" uses the most stack space, 90968 bytes. packet.c:1082: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1088: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1107: stack_use_local_decl: Declaration "unsigned char csum" uses 4 bytes of stack space. packet.c:1127: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1133: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1144: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1163: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1169: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1197: stack_use_local_decl: Declaration "short sum" uses 4 bytes of stack space. packet.c:1221: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1233: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1250: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1272: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1275: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1283: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1296: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1314: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1322: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1349: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1355: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1363: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1369: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1375: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1392: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1415: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1422: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1436: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1441: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1447: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1448: stack_use_return: Return value "greis_hex2bin" uses 8 bytes of stack space. packet.c:1453: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1454: stack_use_return: Return value "greis_hex2bin" uses 8 bytes of stack space. packet.c:1459: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1460: stack_use_return: Return value "greis_hex2bin" uses 8 bytes of stack space. packet.c:1476: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1511: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1532: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1533: stack_use_return: Return value "rtcm2_decode" uses 4 bytes of stack space. packet.c:1575: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1584: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1585: stack_use_return: Return value "strchr" uses 8 bytes of stack space. packet.c:1596: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1607: stack_use_return: Return value "strchr" uses 8 bytes of stack space. packet.c:1608: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1612: stack_use_return: Return value "strchr" uses 8 bytes of stack space. packet.c:1613: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1621: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1624: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:1632: stack_use_return: Return value "character_pushback" uses 4 bytes of stack space. packet.c:254: stack_use_base: Base stack usage is 37376 bytes. packet.c:1429: stack_use_callee_max: Function "character_discard" uses the most stack space, 53580 bytes. packet.c:242: stack_use_return: Return value "memmove" uses 8 bytes of stack space. packet.c:245: stack_use_local_decl: Declaration "char scratchbuf[36865]" uses 36868 bytes of stack space. packet.c:239: stack_use_base: Base stack usage is 36892 bytes. packet.c:246: stack_use_callee_max: Function "gpsd_log" uses the most stack space, 16680 bytes. libgpsd_core.c:191: stack_use_local_decl: Declaration "char buf[8192]" uses 8192 bytes of stack space. libgpsd_core.c:192: stack_use_local_decl: Declaration "va_list ap" uses 8 bytes of stack space. libgpsd_core.c:188: stack_use_base: Base stack usage is 8216 bytes. libgpsd_core.c:196: stack_use_callee_max: Function "gpsd_vlog" uses the most stack space, 8428 bytes. libgpsd_core.c:124: stack_use_local_decl: Declaration "char buf[8192]" uses 8192 bytes of stack space. libgpsd_core.c:125: stack_use_local_decl: Declaration "char *err_str" uses 8 bytes of stack space. libgpsd_core.c:170: stack_use_return: Return value "strlcpy" uses 8 bytes of stack space. libgpsd_core.c:171: stack_use_return: Return value "strlcat" uses 8 bytes of stack space. libgpsd_core.c:172: stack_use_return: Return value "strlcat" uses 8 bytes of stack space. libgpsd_core.c:177: stack_use_return: Return value "getpid" uses 4 bytes of stack space. libgpsd_core.c:182: stack_use_return: Return value "fputs" uses 4 bytes of stack space. libgpsd_core.c:113: stack_use_base: Base stack usage is 8248 bytes. libgpsd_core.c:175: stack_use_callee_max: Function "visibilize" uses the most stack space, 136 bytes. libgpsd_core.c:99: stack_use_local_decl: Declaration "char const *sp" uses 8 bytes of stack space. libgpsd_core.c:102: stack_use_return: Return value "strlen" uses 8 bytes of stack space. libgpsd_core.c:105: stack_use_return: Return value "snprintf" uses 4 bytes of stack space. libgpsd_core.c:105: stack_use_return: Return value "strlen" uses 8 bytes of stack space. libgpsd_core.c:107: stack_use_return: Return value "snprintf" uses 4 bytes of stack space. libgpsd_core.c:107: stack_use_return: Return value "strlen" uses 8 bytes of stack space. libgpsd_core.c:96: stack_use_base: Base stack usage is 56 bytes. libgpsd_core.c:105: stack_use_callee_max: Function "snprintf" uses the most stack space, 48 bytes. /usr/include/x86_64-linux-gnu/bits/stdio2.h:67: stack_use_return: Return value "__builtin___snprintf_chk" uses 4 bytes of stack space. /usr/include/x86_64-linux-gnu/bits/stdio2.h:64: stack_use_base: Base stack usage is 20 bytes. gpsdecode.c:585: stack_use_overflow: The maximum stack use of 250000 bytes is exceeded. Total stack use for this function is 285704 bytes. gpsdecode.c:656 Type: Large stack use (STACK_USE) gpsdecode.c:656: stack_use_local_overflow: Local variable "session" uses 115720 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsmon.c:304 Type: Large stack use (STACK_USE) gpsmon.c:304: stack_use_local_overflow: Local variable "buf2" uses 18432 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsmon.c:750 Type: Large stack use (STACK_USE) gpsmon.c:750: stack_use_local_overflow: Local variable "noclobber" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. gpsmon.c:1110 Type: Invalid type in argument to printf format specifier (PRINTF_ARGS) gpsmon.c:1110: invalid_type: Argument "len" to format specifier "%d" was expected to have type "int" but has type "long". gpsmon.c:704: path: Condition "curses_active", taking false branch. gpsmon.c:707: printf_function: Calling "vfprintf" which uses a "printf"-style format string. [Note: The source code implementation of the function has been overridden by a builtin model.] gpsrinex.c:1118 Type: Insecure temporary file (SECURE_TEMP) gpsrinex.c:1118: secure_temp: "tmpfile" creates files with predictable names, which is unsafe. json.c:467 Type: Uninitialized scalar variable (UNINIT) json.c:191: 1. var_decl: Declaring variable "valbuf" without initializer. json.c:200: 2. path: Condition "end != NULL", taking true branch. json.c:204: 3. path: Condition "cursor->attribute != NULL", taking true branch. json.c:205: 4. path: Condition "!cursor->nodefault", taking true branch. json.c:207: 5. path: Condition "lptr != NULL", taking true branch. json.c:208: 6. path: Switch case value "t_string". json.c:235: 7. path: Condition "parent != NULL", taking false branch. json.c:240: 8. path: Breaking from switch. json.c:254: 9. path: Jumping back to the beginning of the loop. json.c:204: 10. path: Condition "cursor->attribute != NULL", taking false branch. json.c:259: 11. path: Condition "*cp != 0", taking true branch. json.c:262: 12. path: Switch case value "init". json.c:264: 13. path: Condition "*__ctype_b_loc()[(int)(unsigned char)*cp] & 8192 /* (unsigned short)_ISspace */", taking false branch. json.c:266: 14. path: Condition "*cp == '{'", taking true branch. json.c:267: 15. path: Falling through to end of if statement. json.c:275: 16. path: Breaking from switch. json.c:613: 17. path: Jumping back to the beginning of the loop. json.c:259: 18. path: Condition "*cp != 0", taking true branch. json.c:262: 19. path: Switch case value "await_attr". json.c:277: 20. path: Condition "*__ctype_b_loc()[(int)(unsigned char)*cp] & 8192 /* (unsigned short)_ISspace */", taking false branch. json.c:279: 21. path: Condition "*cp == '"'", taking true branch. json.c:282: 22. path: Condition "end != NULL", taking true branch. json.c:284: 23. path: Falling through to end of if statement. json.c:292: 24. path: Breaking from switch. json.c:613: 25. path: Jumping back to the beginning of the loop. json.c:259: 26. path: Condition "*cp != 0", taking true branch. json.c:262: 27. path: Switch case value "await_value". json.c:336: 28. path: Condition "*__ctype_b_loc()[(int)(unsigned char)*cp] & 8192 /* (unsigned short)_ISspace */", taking false branch. json.c:336: 29. path: Condition "*cp == ':'", taking false branch. json.c:338: 30. path: Condition "*cp == '['", taking true branch. json.c:339: 31. path: Condition "cursor->type != t_array", taking false branch. json.c:347: 32. path: Condition "substatus != 0", taking false branch. json.c:350: 33. path: Falling through to end of if statement. json.c:366: 34. path: Breaking from switch. json.c:613: 35. path: Jumping back to the beginning of the loop. json.c:259: 36. path: Condition "*cp != 0", taking true branch. json.c:262: 37. path: Switch case value "post_val". json.c:462: 38. path: Condition "true", taking true branch. json.c:464: 39. path: Condition "value_quoted", taking false branch. json.c:467: 40. uninit_use_in_call: Using uninitialized element of array "valbuf" when calling "strcmp". libgps_shm.c:122 Type: Large stack use (STACK_USE) libgps_shm.c:122: stack_use_local_overflow: Local variable "noclobber" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. libgps_shm.c:122 Type: Large stack use (STACK_USE) libgps_shm.c:122: stack_use_local_overflow: Local variable "noclobber" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. libgps_sock.c:374 Type: Invalid type in argument to printf format specifier (PRINTF_ARGS) libgps_sock.c:374: invalid_type: Argument "gpsdata->set" to format specifier "%04x" was expected to have type "unsigned int" but has type "unsigned long". libgps_core.c:43: path: Condition "errlevel <= libgps_debuglevel", taking true branch. libgps_core.c:49: printf_function: Calling "str_vappendf" which uses a "printf"-style format string. strfuncs.h:35: printf_function: Calling "vsnprintf" which uses a "printf"-style format string. [Note: The source code implementation of the function has been overridden by a builtin model.] monitor_ubx.c:130 Type: Large stack use (STACK_USE) monitor_ubx.c:130: stack_use_local_overflow: Local variable "g" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. ntpshmmon.c:37 Type: Large stack use (STACK_USE) ntpshmmon.c:37: stack_use_local_overflow: Local variable "shm_stat_old" uses 16448 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:245 Type: Large stack use (STACK_USE) packet.c:245: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:935 Type: Large stack use (STACK_USE) packet.c:935: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:1651 Type: Large stack use (STACK_USE) packet.c:1651: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:1674 Type: Large stack use (STACK_USE) packet.c:1674: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:1692 Type: Large stack use (STACK_USE) packet.c:1692: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:1714 Type: Large stack use (STACK_USE) packet.c:1714: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. packet.c:2528 Type: Large stack use (STACK_USE) packet.c:2528: stack_use_local_overflow: Local variable "scratchbuf" uses 36868 bytes of stack space, which exceeds the maximum single use of 10000 bytes. ppsthread.c:207 Type: String not null terminated (STRING_NULL) ppsthread.c:206: 1. string_null_argument: Function "get_sysfs_var" does not terminate string "*buf". ppsthread.c:192: 1.1. path: Condition "0 <= fd", taking true branch. ppsthread.c:193: 1.2. string_null_argument: Function "read" fills array "*buf" with a non-terminated string. [Note: The source code implementation of the function has been overridden by a builtin model.] ppsthread.c:194: 1.3. path: Condition "0 < r", taking false branch. ppsthread.c:207: 2. string_null: Passing unterminated string "buf" to "strcmp", which expects a null-terminated string. serial.c:153 Type: String not null terminated (STRING_NULL) serial.c:137: 1. path: Condition "(procd = opendir("/proc")) == NULL", taking false branch. serial.c:139: 2. path: Condition "(procentry = readdir(procd)) != NULL", taking true branch. serial.c:140: 3. path: Condition "(*__ctype_b_loc()[(int)procentry->d_name[0]] & 2048 /* (unsigned short)_ISdigit */) == 0", taking false branch. serial.c:145: 4. path: Condition "(fdd = opendir(procpath)) == NULL", taking false branch. serial.c:147: 5. path: Condition "(fdentry = readdir(fdd)) != NULL", taking true branch. serial.c:151: 6. string_null_argument: Function "readlink" does not terminate string "*linkpath". [Note: The source code implementation of the function has been overridden by a builtin model.] serial.c:151: 7. path: Condition "readlink(fdpath, linkpath, 64UL /* sizeof (linkpath) */) == -1", taking false branch. serial.c:153: 8. string_null: Passing unterminated string "linkpath" to "strcmp", which expects a null-terminated string. serial.c:502 Type: Argument cannot be negative (NEGATIVE_RETURNS) serial.c:477: 1. path: Condition "source_pps == session->sourcetype", taking false branch. serial.c:482: 2. path: Condition "session->context->readonly", taking true branch. serial.c:485: 3. path: Condition "session->context->errout.debug >= 3", taking true branch. serial.c:488: 4. path: Falling through to end of if statement. serial.c:494: 5. path: Condition "bachk(session->gpsdata.dev.path) == 0", taking true branch. serial.c:496: 6. negative_return_fn: Function "socket(31, SOCK_STREAM, 3)" returns a negative number. serial.c:496: 7. assign: Assigning: "session->gpsdata.gps_fd" = "socket(31, SOCK_STREAM, 3)". serial.c:502: 8. negative_returns: "session->gpsdata.gps_fd" is passed to a parameter that cannot be negative. serial.c:678 Type: Large stack use (STACK_USE) serial.c:678: stack_use_local_overflow: Local variable "scratchbuf" uses 18436 bytes of stack space, which exceeds the maximum single use of 10000 bytes. tests/test_bits.c:205 Type: String not null terminated (STRING_NULL) tests/test_bits.c:136: 1. lib_fn_copy_string: Calling "memcpy" with a source string ""@I\x0f\xdb"" whose length (5 characters) is greater than or equal to the size argument (4) will fail to null-terminate argument "buf + 24". tests/test_bits.c:138: 2. path: Condition "!quiet", taking false branch. tests/test_bits.c:146: 3. path: Condition "!quiet", taking false branch. tests/test_bits.c:191: 4. path: Condition "sb1 != 1", taking true branch. tests/test_bits.c:192: 5. path: Condition "sb2 != -1", taking true branch. tests/test_bits.c:193: 6. path: Condition "ub1 != 1", taking true branch. tests/test_bits.c:194: 7. path: Condition "ub2 != 255", taking true branch. tests/test_bits.c:196: 8. path: Condition "up < unsigned_tests + 11UL /* sizeof (unsigned_tests) / sizeof (unsigned_tests[0]) */", taking true branch. tests/test_bits.c:202: 9. path: Condition "!success", taking false branch. tests/test_bits.c:204: 10. path: Condition "!success", taking false branch. tests/test_bits.c:204: 11. path: Condition "!quiet", taking false branch. tests/test_bits.c:210: 12. path: Jumping back to the beginning of the loop. tests/test_bits.c:196: 13. path: Condition "up < unsigned_tests + 11UL /* sizeof (unsigned_tests) / sizeof (unsigned_tests[0]) */", taking true branch. tests/test_bits.c:202: 14. path: Condition "!success", taking true branch. tests/test_bits.c:204: 15. path: Condition "!success", taking true branch. tests/test_bits.c:205: 16. string_null: Passing unterminated string "buf" to "strlen", which expects a null-terminated string. tests/test_gpsmm.cpp:156 Type: Large stack use (STACK_USE) tests/test_gpsmm.cpp:156: stack_use_local_overflow: Local variable "gps_rec" uses 24024 bytes of stack space, which exceeds the maximum single use of 10000 bytes. tests/test_libgps.c:35 Type: Large stack use (STACK_USE) tests/test_libgps.c:35: stack_use_local_overflow: Local variable "collect" uses 24008 bytes of stack space, which exceeds the maximum single use of 10000 bytes. tests/test_packet.c:266 Type: Large stack use (STACK_USE) tests/test_packet.c:266: stack_use_local_overflow: Local variable "lexer" uses 46384 bytes of stack space, which exceeds the maximum single use of 10000 bytes. tests/test_packet.c:292 Type: Large stack use (STACK_USE) tests/test_packet.c:292: stack_use_local_overflow: Local variable "lexer" uses 46384 bytes of stack space, which exceeds the maximum single use of 10000 bytes. tests/test_packet.c:302 Type: Improper use of negative value (NEGATIVE_RETURNS) tests/test_packet.c:293: 1. negative_return_fn: Function "open("/dev/null", 0)" returns a negative number. [Note: The source code implementation of the function has been overridden by a builtin model.] tests/test_packet.c:293: 2. assign: Assigning: "nullfd" = "open("/dev/null", 0)". tests/test_packet.c:302: 3. negative_returns: "nullfd" is passed to a parameter that cannot be negative. packet.c:2514: 3.1. neg_sink_parm_call: Passing "fd" to "read", which cannot accept a negative number. [Note: The source code implementation of the function has been overridden by a builtin model.] tests/test_packet.c:305 Type: Resource leak (RESOURCE_LEAK) tests/test_packet.c:293: 1. open_fn: Returning handle opened by "open". [Note: The source code implementation of the function has been overridden by a builtin model.] tests/test_packet.c:293: 2. var_assign: Assigning: "nullfd" = handle returned from "open("/dev/null", 0)". tests/test_packet.c:302: 3. noescape: Resource "nullfd" is not freed or pointed-to in "packet_get". packet.c:2506: 3.1. noescape: "packet_get(int, struct gps_lexer_t *)" does not free or save its parameter "fd". tests/test_packet.c:304: 4. path: Condition "st > 0", taking true branch. tests/test_packet.c:302: 5. noescape: Resource "nullfd" is not freed or pointed-to in "packet_get". packet.c:2506: 5.1. noescape: "packet_get(int, struct gps_lexer_t *)" does not free or save its parameter "fd". tests/test_packet.c:304: 6. path: Condition "st > 0", taking true branch. tests/test_packet.c:302: 7. noescape: Resource "nullfd" is not freed or pointed-to in "packet_get". packet.c:2506: 7.1. noescape: "packet_get(int, struct gps_lexer_t *)" does not free or save its parameter "fd". tests/test_packet.c:304: 8. path: Condition "st > 0", taking true branch. tests/test_packet.c:302: 9. noescape: Resource "nullfd" is not freed or pointed-to in "packet_get". packet.c:2506: 9.1. noescape: "packet_get(int, struct gps_lexer_t *)" does not free or save its parameter "fd". tests/test_packet.c:304: 10. path: Condition "st > 0", taking false branch. tests/test_packet.c:305: 11. leaked_handle: Handle variable "nullfd" going out of scope leaks the handle. tests/test_timespec.c:327 Type: Large stack use (STACK_USE) tests/test_timespec.c:327: stack_use_local_overflow: Local variable "session" uses 115720 bytes of stack space, which exceeds the maximum single use of 10000 bytes. devtools/tablegen.py:127 Type: Typo in identifier (IDENTIFIER_TYPO) devtools/tablegen.py:127: identifier_typo: Using "structnme" appears to be a typo: * Identifier "structnme" is only known to be referenced here, or in copies of this code. * Identifier "structname" is referenced elsewhere at least 69 times. devtools/tablegen.py:127: remediation: Should identifier "structnme" be replaced by "structname"? devtools/tablegen.py:512: Supporting evidence set 1: identifier_use: Example 1: Using identifier "structname" (5 total uses in this function). devtools/tablegen.py:130: Supporting evidence set 2: identifier_use: Example 2: Using identifier "structname" (2 total uses in this function). devtools/tablegen.py:336: Supporting evidence set 3: identifier_use: Example 3: Using identifier "structname" (7 total uses in this function). devtools/tablegen.py:418: Supporting evidence set 4: identifier_use: Example 4: Using identifier "structname". devtools/tablegen.py:218: Supporting evidence set 5: identifier_use: Example 5: Using identifier "structname" (4 total uses in this function). gps/fake.py:669 Type: Bad use of null-like value (FORWARD_NULL) gps/fake.py:646: 1. assign_undefined: Assigning: "newgps" = "undefined". gps/fake.py:648: 2. path: Condition "!(logfile in self.fakegpslist)", taking false branch. gps/fake.py:669: 3. property_access: Accessing a property of null-like value "newgps".