sqc 0.4.84

Software Code Quality - CERT C compliance checker
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
6154
6155
6156
6157
6158
6159
6160
6161
6162
6163
6164
6165
6166
6167
6168
6169
6170
6171
6172
6173
6174
6175
6176
6177
6178
6179
6180
6181
6182
6183
6184
6185
6186
6187
6188
6189
6190
6191
6192
6193
6194
6195
6196
6197
6198
6199
6200
6201
6202
6203
6204
6205
6206
6207
6208
6209
6210
6211
6212
6213
6214
6215
6216
6217
6218
6219
6220
6221
6222
6223
6224
6225
6226
6227
6228
6229
6230
6231
6232
6233
6234
6235
6236
6237
6238
6239
6240
6241
6242
6243
6244
6245
6246
6247
6248
6249
6250
6251
6252
6253
6254
6255
6256
6257
6258
6259
6260
6261
6262
6263
6264
6265
6266
6267
6268
6269
6270
6271
6272
6273
6274
6275
6276
6277
6278
6279
6280
6281
6282
6283
6284
6285
6286
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313
6314
6315
6316
6317
6318
6319
6320
6321
6322
6323
6324
6325
6326
6327
6328
6329
6330
6331
6332
6333
6334
6335
6336
6337
6338
6339
6340
6341
6342
6343
6344
6345
6346
6347
6348
6349
6350
6351
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378
6379
6380
6381
6382
6383
6384
6385
6386
6387
6388
6389
6390
6391
6392
6393
6394
6395
6396
6397
6398
6399
6400
6401
6402
6403
6404
6405
6406
6407
6408
6409
6410
6411
6412
6413
6414
6415
6416
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443
6444
6445
6446
6447
6448
6449
6450
6451
6452
6453
6454
6455
6456
6457
6458
6459
6460
6461
6462
6463
6464
6465
6466
6467
6468
6469
6470
6471
6472
6473
6474
6475
6476
6477
6478
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488
6489
6490
6491
6492
6493
6494
6495
6496
6497
6498
6499
6500
6501
6502
6503
6504
6505
6506
6507
6508
6509
6510
6511
6512
6513
6514
6515
6516
6517
6518
6519
6520
6521
6522
6523
6524
6525
6526
6527
6528
6529
6530
6531
6532
6533
6534
6535
6536
6537
6538
6539
6540
6541
6542
6543
6544
6545
6546
6547
6548
6549
6550
6551
6552
6553
6554
6555
6556
6557
6558
6559
6560
6561
6562
6563
6564
6565
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592
6593
6594
6595
6596
6597
6598
6599
6600
6601
6602
6603
6604
6605
6606
6607
6608
6609
6610
6611
6612
6613
6614
6615
6616
6617
6618
6619
6620
6621
6622
6623
6624
6625
6626
6627
6628
6629
6630
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653
6654
6655
6656
6657
6658
6659
6660
6661
6662
6663
6664
6665
6666
6667
6668
6669
6670
6671
6672
6673
6674
6675
6676
6677
6678
6679
6680
6681
6682
6683
6684
6685
6686
6687
6688
6689
6690
6691
6692
6693
6694
6695
6696
6697
6698
6699
6700
6701
6702
6703
6704
6705
6706
6707
6708
6709
6710
6711
6712
6713
6714
6715
6716
6717
6718
6719
6720
6721
6722
6723
6724
6725
6726
6727
6728
6729
6730
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757
6758
6759
6760
6761
6762
6763
6764
6765
6766
6767
6768
6769
6770
6771
6772
6773
6774
6775
6776
6777
6778
6779
6780
6781
6782
6783
6784
6785
6786
6787
6788
6789
6790
6791
6792
6793
6794
6795
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822
6823
6824
6825
6826
6827
6828
6829
6830
6831
6832
6833
6834
6835
6836
6837
6838
6839
6840
6841
6842
6843
6844
6845
6846
6847
6848
6849
6850
6851
6852
6853
6854
6855
6856
6857
6858
6859
6860
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873
6874
6875
6876
6877
6878
6879
6880
6881
6882
6883
6884
6885
6886
6887
6888
6889
6890
6891
6892
6893
6894
6895
6896
6897
6898
6899
6900
6901
6902
6903
6904
6905
6906
6907
6908
6909
6910
6911
6912
6913
6914
6915
6916
6917
6918
6919
6920
6921
6922
6923
6924
6925
6926
6927
6928
6929
6930
6931
6932
6933
6934
6935
6936
6937
6938
6939
6940
6941
6942
6943
6944
6945
6946
6947
6948
6949
6950
6951
6952
6953
6954
6955
6956
6957
6958
6959
6960
6961
6962
6963
6964
6965
6966
6967
6968
6969
6970
6971
6972
6973
6974
6975
6976
6977
6978
6979
6980
6981
6982
6983
6984
6985
6986
6987
6988
6989
6990
6991
6992
6993
6994
6995
6996
6997
6998
6999
7000
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
7193
7194
7195
7196
7197
7198
7199
7200
7201
7202
7203
7204
7205
7206
7207
7208
7209
7210
7211
7212
7213
7214
7215
7216
7217
7218
7219
7220
7221
7222
7223
7224
7225
7226
7227
7228
7229
7230
7231
7232
7233
7234
7235
7236
7237
7238
7239
7240
7241
7242
7243
7244
7245
7246
7247
7248
7249
7250
7251
7252
7253
7254
7255
7256
7257
7258
7259
7260
7261
7262
7263
7264
7265
7266
7267
7268
7269
7270
7271
7272
7273
7274
7275
7276
7277
7278
7279
7280
7281
7282
7283
7284
7285
7286
7287
7288
7289
7290
7291
7292
7293
7294
7295
7296
7297
7298
7299
7300
7301
7302
7303
7304
7305
7306
7307
7308
7309
7310
7311
7312
7313
7314
7315
7316
7317
7318
7319
7320
7321
7322
7323
7324
7325
7326
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
7357
7358
7359
7360
7361
7362
7363
7364
7365
7366
7367
7368
7369
7370
7371
7372
7373
7374
7375
7376
7377
7378
7379
7380
7381
7382
7383
7384
7385
7386
7387
7388
7389
7390
7391
7392
7393
7394
7395
7396
7397
7398
7399
7400
7401
7402
7403
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
7491
7492
7493
7494
7495
7496
7497
7498
7499
7500
7501
7502
7503
7504
7505
7506
7507
7508
7509
7510
7511
7512
7513
7514
7515
7516
7517
7518
7519
7520
7521
7522
7523
7524
7525
7526
7527
7528
7529
7530
7531
7532
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
7563
7564
7565
7566
7567
7568
7569
7570
7571
7572
7573
7574
7575
7576
7577
7578
7579
7580
7581
7582
7583
7584
7585
7586
7587
7588
7589
7590
7591
7592
7593
7594
7595
7596
7597
7598
7599
7600
7601
7602
7603
7604
7605
7606
7607
7608
7609
7610
7611
7612
7613
7614
7615
7616
7617
7618
7619
7620
7621
7622
7623
7624
7625
7626
7627
7628
7629
7630
7631
7632
7633
7634
7635
7636
7637
7638
7639
7640
7641
7642
7643
7644
7645
7646
7647
7648
7649
7650
7651
7652
7653
7654
7655
7656
7657
7658
7659
7660
7661
7662
7663
7664
7665
7666
7667
7668
7669
7670
7671
7672
7673
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
7705
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
7730
7731
7732
7733
7734
7735
7736
7737
7738
7739
7740
7741
7742
7743
7744
7745
7746
7747
7748
7749
7750
7751
7752
7753
7754
7755
7756
7757
7758
7759
7760
7761
7762
7763
7764
7765
7766
7767
7768
7769
7770
7771
7772
7773
7774
7775
7776
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
7806
7807
7808
7809
7810
7811
7812
7813
7814
7815
7816
7817
7818
7819
7820
7821
7822
7823
7824
7825
7826
7827
7828
7829
7830
7831
7832
7833
7834
7835
7836
7837
7838
7839
7840
7841
7842
7843
7844
7845
7846
7847
7848
7849
7850
7851
7852
7853
7854
7855
7856
7857
7858
7859
7860
7861
7862
7863
7864
7865
7866
7867
7868
7869
7870
7871
7872
7873
7874
7875
7876
7877
7878
7879
7880
7881
7882
7883
7884
7885
7886
7887
7888
7889
7890
7891
7892
7893
7894
7895
7896
7897
7898
7899
7900
7901
7902
7903
7904
7905
7906
7907
7908
7909
7910
7911
7912
7913
7914
7915
7916
7917
7918
7919
7920
7921
7922
7923
7924
7925
7926
7927
7928
7929
7930
7931
7932
7933
7934
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
7956
7957
7958
7959
7960
7961
7962
7963
7964
7965
7966
7967
7968
7969
7970
7971
7972
7973
7974
7975
7976
7977
7978
7979
7980
7981
7982
7983
7984
7985
7986
7987
7988
7989
7990
7991
7992
7993
7994
7995
7996
7997
7998
7999
8000
8001
8002
8003
8004
8005
8006
8007
8008
8009
8010
8011
8012
8013
8014
8015
8016
8017
8018
8019
8020
8021
8022
8023
8024
8025
8026
8027
8028
8029
8030
8031
8032
8033
8034
8035
8036
8037
8038
8039
8040
8041
8042
8043
8044
8045
8046
8047
8048
8049
8050
8051
8052
8053
8054
8055
8056
8057
8058
8059
8060
8061
8062
8063
8064
8065
8066
8067
8068
8069
8070
8071
8072
8073
8074
8075
8076
8077
8078
8079
8080
8081
8082
8083
8084
8085
8086
8087
8088
8089
8090
8091
8092
8093
8094
8095
8096
8097
8098
8099
8100
8101
8102
8103
8104
8105
8106
8107
8108
8109
8110
8111
8112
8113
8114
8115
8116
8117
8118
8119
8120
8121
8122
8123
8124
8125
8126
8127
8128
8129
8130
8131
8132
8133
8134
8135
8136
8137
8138
8139
8140
8141
8142
8143
8144
8145
8146
8147
8148
8149
8150
8151
8152
8153
8154
8155
8156
8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
8183
8184
8185
8186
8187
8188
8189
8190
8191
8192
8193
8194
8195
8196
8197
8198
8199
8200
8201
8202
8203
8204
8205
8206
8207
8208
8209
8210
8211
8212
8213
8214
8215
8216
8217
8218
8219
8220
8221
8222
8223
8224
8225
8226
8227
8228
8229
8230
8231
8232
8233
8234
8235
8236
8237
8238
8239
8240
8241
8242
8243
8244
8245
8246
8247
8248
8249
8250
8251
8252
8253
8254
8255
8256
8257
8258
8259
8260
8261
8262
8263
8264
8265
8266
8267
8268
8269
8270
8271
8272
8273
8274
8275
8276
8277
8278
8279
8280
8281
8282
8283
8284
8285
8286
8287
8288
8289
8290
8291
8292
8293
8294
8295
8296
8297
8298
8299
8300
8301
8302
8303
8304
8305
8306
8307
8308
8309
8310
8311
8312
8313
8314
8315
8316
8317
8318
8319
8320
8321
8322
8323
8324
8325
8326
8327
8328
8329
8330
8331
8332
8333
8334
8335
8336
8337
8338
8339
8340
8341
8342
8343
8344
8345
8346
8347
8348
8349
8350
8351
8352
8353
8354
8355
8356
8357
8358
8359
8360
8361
8362
8363
8364
8365
8366
8367
8368
8369
8370
8371
8372
8373
8374
8375
8376
8377
8378
8379
8380
8381
8382
8383
8384
8385
8386
8387
8388
8389
8390
8391
8392
8393
8394
8395
8396
8397
8398
8399
8400
8401
8402
8403
8404
8405
8406
8407
8408
8409
8410
8411
8412
8413
8414
8415
8416
8417
8418
8419
8420
8421
8422
8423
8424
8425
8426
8427
8428
8429
8430
8431
8432
8433
8434
8435
8436
8437
8438
8439
8440
8441
8442
8443
8444
8445
8446
8447
8448
8449
8450
8451
8452
8453
8454
8455
8456
8457
8458
8459
8460
8461
8462
8463
8464
8465
8466
8467
8468
8469
8470
8471
8472
8473
8474
8475
8476
8477
8478
8479
8480
8481
8482
8483
8484
8485
8486
8487
8488
8489
8490
8491
8492
8493
8494
8495
8496
8497
8498
8499
8500
8501
8502
8503
8504
8505
8506
8507
8508
8509
8510
8511
8512
8513
8514
8515
8516
8517
8518
8519
8520
8521
8522
8523
8524
8525
8526
8527
8528
8529
8530
8531
8532
8533
8534
8535
8536
8537
8538
8539
8540
8541
8542
8543
8544
8545
8546
8547
8548
8549
8550
8551
8552
8553
8554
8555
8556
8557
8558
8559
8560
8561
8562
8563
8564
8565
8566
8567
8568
8569
8570
8571
8572
8573
8574
8575
8576
8577
8578
8579
8580
8581
8582
8583
8584
8585
8586
8587
8588
8589
8590
8591
8592
8593
8594
8595
8596
8597
8598
8599
8600
8601
8602
8603
8604
8605
8606
8607
8608
8609
8610
8611
8612
8613
8614
8615
8616
8617
8618
8619
8620
8621
8622
8623
8624
8625
8626
8627
8628
8629
8630
8631
8632
8633
8634
8635
8636
8637
8638
8639
8640
8641
8642
8643
8644
8645
8646
8647
8648
8649
8650
8651
8652
8653
8654
8655
8656
8657
8658
8659
8660
8661
8662
8663
8664
8665
8666
8667
8668
8669
8670
8671
8672
8673
8674
8675
8676
8677
8678
8679
8680
8681
8682
8683
8684
8685
8686
8687
8688
8689
8690
8691
8692
8693
8694
8695
8696
8697
8698
8699
8700
8701
8702
8703
8704
8705
8706
8707
8708
8709
8710
8711
8712
8713
8714
8715
8716
8717
8718
8719
8720
8721
8722
8723
8724
8725
8726
8727
8728
8729
8730
8731
8732
8733
8734
8735
8736
8737
8738
8739
8740
8741
8742
8743
8744
8745
8746
8747
8748
8749
8750
8751
8752
8753
8754
8755
8756
8757
8758
8759
8760
8761
8762
8763
8764
8765
8766
8767
8768
8769
8770
8771
8772
8773
8774
8775
8776
8777
8778
8779
8780
8781
8782
8783
8784
8785
8786
8787
8788
8789
8790
8791
8792
8793
8794
8795
8796
8797
8798
8799
8800
8801
8802
8803
8804
8805
8806
8807
8808
8809
8810
8811
8812
8813
8814
8815
8816
8817
8818
8819
8820
8821
8822
8823
8824
8825
8826
8827
8828
8829
8830
8831
8832
8833
8834
8835
8836
8837
8838
8839
8840
8841
8842
8843
8844
8845
8846
8847
8848
8849
8850
8851
8852
8853
8854
8855
8856
8857
8858
8859
8860
8861
8862
8863
8864
8865
8866
8867
8868
8869
8870
8871
8872
8873
8874
8875
8876
8877
8878
8879
8880
8881
8882
8883
8884
8885
8886
8887
8888
8889
8890
8891
8892
8893
8894
8895
8896
8897
8898
8899
8900
8901
8902
8903
8904
8905
8906
8907
8908
8909
8910
8911
8912
8913
8914
8915
8916
8917
8918
8919
8920
8921
8922
8923
8924
8925
8926
8927
8928
8929
8930
8931
8932
8933
8934
8935
8936
8937
8938
8939
8940
8941
8942
8943
8944
8945
8946
8947
8948
8949
8950
8951
8952
8953
8954
8955
8956
8957
8958
8959
8960
8961
8962
8963
8964
8965
8966
8967
8968
8969
8970
8971
8972
8973
8974
8975
8976
8977
8978
8979
8980
8981
8982
8983
8984
8985
8986
8987
8988
8989
8990
8991
8992
8993
8994
8995
8996
8997
8998
8999
9000
9001
9002
9003
9004
9005
9006
9007
9008
9009
9010
9011
9012
9013
9014
9015
9016
9017
9018
9019
9020
9021
9022
9023
9024
9025
9026
9027
9028
9029
9030
9031
9032
9033
9034
9035
9036
9037
9038
9039
9040
9041
9042
9043
9044
9045
9046
9047
9048
9049
9050
9051
9052
9053
9054
9055
9056
9057
9058
9059
9060
9061
9062
9063
9064
9065
9066
9067
9068
9069
9070
9071
9072
9073
9074
9075
9076
9077
9078
9079
9080
9081
9082
9083
9084
9085
9086
9087
9088
9089
9090
9091
9092
9093
9094
9095
9096
9097
9098
9099
9100
9101
9102
9103
9104
9105
9106
9107
9108
9109
9110
9111
9112
9113
9114
9115
9116
9117
9118
9119
9120
9121
9122
9123
9124
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
9141
9142
9143
9144
9145
9146
9147
9148
9149
9150
9151
9152
9153
9154
9155
9156
9157
9158
9159
9160
9161
9162
9163
9164
9165
9166
9167
9168
9169
9170
9171
9172
9173
9174
9175
9176
9177
9178
9179
9180
9181
9182
9183
9184
9185
9186
9187
9188
9189
9190
9191
9192
9193
9194
9195
9196
9197
9198
9199
9200
9201
9202
9203
9204
9205
9206
9207
9208
9209
9210
9211
9212
9213
9214
9215
9216
9217
9218
9219
9220
9221
9222
9223
9224
9225
9226
9227
9228
9229
9230
9231
9232
9233
9234
9235
9236
9237
9238
9239
9240
9241
9242
9243
9244
9245
9246
9247
9248
9249
9250
9251
9252
9253
9254
9255
9256
9257
9258
9259
9260
9261
9262
9263
9264
9265
9266
9267
9268
9269
9270
9271
9272
9273
9274
9275
9276
9277
9278
9279
9280
9281
9282
9283
9284
9285
9286
9287
9288
9289
9290
9291
9292
9293
9294
9295
9296
9297
9298
9299
9300
9301
9302
9303
9304
9305
9306
9307
9308
9309
9310
9311
9312
9313
9314
9315
9316
9317
9318
9319
9320
9321
9322
9323
9324
9325
9326
9327
9328
9329
9330
9331
9332
9333
9334
9335
9336
9337
9338
9339
9340
9341
9342
9343
9344
9345
9346
9347
9348
9349
9350
9351
9352
9353
9354
9355
9356
9357
9358
9359
9360
9361
9362
9363
9364
9365
9366
9367
9368
9369
9370
9371
9372
9373
9374
9375
9376
9377
9378
9379
9380
9381
9382
9383
9384
9385
9386
9387
9388
9389
9390
9391
9392
9393
9394
9395
9396
9397
9398
9399
9400
9401
9402
9403
9404
9405
9406
9407
9408
9409
9410
9411
9412
9413
9414
9415
9416
9417
9418
9419
9420
9421
9422
9423
9424
9425
9426
9427
9428
9429
9430
9431
9432
9433
9434
9435
9436
9437
9438
9439
9440
9441
9442
9443
9444
9445
9446
9447
9448
9449
9450
9451
9452
9453
9454
9455
9456
9457
9458
9459
9460
9461
9462
9463
9464
9465
9466
9467
9468
9469
9470
9471
9472
9473
9474
9475
9476
9477
9478
9479
9480
9481
9482
9483
9484
9485
9486
9487
9488
9489
9490
9491
9492
9493
9494
9495
9496
9497
9498
9499
9500
9501
9502
9503
9504
9505
9506
9507
9508
9509
9510
9511
9512
9513
9514
9515
9516
9517
9518
9519
9520
9521
9522
9523
9524
9525
9526
9527
9528
9529
9530
9531
9532
9533
9534
9535
9536
9537
9538
9539
9540
9541
9542
9543
9544
9545
9546
9547
9548
9549
9550
9551
9552
9553
9554
9555
9556
9557
9558
9559
9560
9561
9562
9563
9564
9565
9566
9567
9568
9569
9570
9571
9572
9573
9574
9575
9576
9577
9578
9579
9580
9581
9582
9583
9584
9585
9586
9587
9588
9589
9590
9591
9592
9593
9594
9595
9596
9597
9598
9599
9600
9601
9602
9603
9604
9605
9606
9607
9608
9609
9610
9611
9612
9613
9614
9615
9616
9617
9618
9619
9620
9621
9622
9623
9624
9625
9626
9627
9628
9629
9630
9631
9632
9633
9634
9635
9636
9637
9638
9639
9640
9641
9642
9643
9644
9645
9646
9647
9648
9649
9650
9651
9652
9653
9654
9655
9656
9657
9658
9659
9660
9661
9662
9663
9664
9665
9666
9667
9668
9669
9670
9671
9672
9673
9674
9675
9676
9677
9678
9679
9680
9681
9682
9683
9684
9685
9686
9687
9688
9689
9690
9691
9692
9693
9694
9695
9696
9697
9698
9699
9700
9701
9702
9703
9704
9705
9706
9707
9708
9709
9710
9711
9712
9713
9714
9715
9716
9717
9718
9719
9720
9721
9722
9723
9724
9725
9726
9727
9728
9729
9730
9731
9732
9733
9734
9735
9736
9737
9738
9739
9740
9741
9742
9743
9744
9745
9746
9747
9748
9749
9750
9751
9752
9753
9754
9755
9756
9757
9758
9759
9760
9761
9762
9763
9764
9765
9766
9767
9768
9769
9770
9771
9772
9773
9774
9775
9776
9777
9778
9779
9780
9781
9782
9783
9784
9785
9786
9787
9788
9789
9790
9791
9792
9793
9794
9795
9796
9797
9798
9799
9800
9801
9802
9803
9804
9805
9806
9807
9808
9809
9810
9811
9812
9813
9814
9815
9816
9817
9818
9819
9820
9821
9822
9823
9824
9825
9826
9827
9828
9829
9830
9831
9832
9833
9834
9835
9836
9837
9838
9839
9840
9841
9842
9843
9844
9845
9846
9847
9848
9849
9850
9851
9852
9853
9854
9855
9856
9857
9858
9859
9860
9861
9862
9863
9864
9865
9866
9867
9868
9869
9870
9871
9872
9873
9874
9875
9876
9877
9878
9879
9880
9881
9882
9883
9884
9885
9886
9887
9888
9889
9890
9891
9892
9893
9894
9895
9896
9897
9898
9899
9900
9901
9902
9903
9904
9905
9906
9907
9908
9909
9910
9911
9912
9913
9914
9915
9916
9917
9918
9919
9920
9921
9922
9923
9924
9925
9926
9927
9928
9929
9930
9931
9932
9933
9934
9935
9936
9937
9938
9939
9940
9941
9942
9943
9944
9945
9946
9947
9948
9949
9950
9951
9952
9953
9954
9955
9956
9957
9958
9959
9960
9961
9962
9963
9964
9965
9966
9967
9968
9969
9970
9971
9972
9973
9974
9975
9976
9977
9978
9979
9980
9981
9982
9983
9984
9985
9986
9987
9988
9989
9990
9991
9992
9993
9994
9995
9996
9997
9998
9999
10000
10001
10002
10003
10004
10005
10006
10007
10008
10009
10010
10011
10012
10013
10014
10015
10016
10017
10018
10019
10020
10021
10022
10023
10024
10025
10026
10027
10028
10029
10030
10031
10032
10033
10034
10035
10036
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
10070
10071
10072
10073
10074
10075
10076
10077
10078
10079
10080
10081
10082
10083
10084
10085
10086
10087
10088
10089
10090
10091
10092
10093
10094
10095
10096
10097
10098
10099
10100
10101
10102
10103
10104
10105
10106
10107
10108
10109
10110
10111
10112
10113
10114
10115
10116
10117
10118
10119
10120
10121
10122
10123
10124
10125
10126
10127
10128
10129
10130
10131
10132
10133
10134
10135
10136
10137
10138
10139
10140
10141
10142
10143
10144
10145
10146
10147
10148
10149
10150
10151
10152
10153
10154
10155
10156
10157
10158
10159
10160
10161
10162
10163
10164
10165
10166
10167
10168
10169
10170
10171
10172
10173
10174
10175
10176
10177
10178
10179
10180
10181
10182
10183
10184
10185
10186
10187
10188
10189
10190
10191
10192
10193
10194
10195
10196
10197
10198
10199
10200
10201
10202
10203
10204
10205
10206
10207
10208
10209
10210
10211
10212
10213
10214
10215
10216
10217
10218
10219
10220
10221
10222
10223
10224
10225
10226
10227
10228
10229
10230
10231
10232
10233
10234
10235
10236
10237
10238
10239
10240
10241
10242
10243
10244
10245
10246
10247
10248
10249
10250
10251
10252
10253
10254
10255
10256
10257
10258
10259
10260
10261
10262
10263
10264
10265
10266
10267
10268
10269
10270
10271
10272
10273
10274
10275
10276
10277
10278
10279
10280
10281
10282
10283
10284
10285
10286
10287
10288
10289
10290
10291
10292
10293
10294
10295
10296
10297
10298
10299
10300
10301
10302
10303
10304
10305
10306
10307
10308
10309
10310
10311
10312
10313
10314
10315
10316
10317
10318
10319
10320
10321
10322
10323
10324
10325
10326
10327
10328
10329
10330
10331
10332
10333
10334
10335
10336
10337
10338
10339
10340
10341
10342
10343
10344
10345
10346
10347
10348
10349
10350
10351
10352
10353
10354
10355
10356
10357
10358
10359
10360
10361
10362
10363
10364
10365
10366
10367
10368
10369
10370
10371
10372
10373
10374
10375
10376
10377
10378
10379
10380
10381
10382
10383
10384
10385
10386
10387
10388
10389
10390
10391
10392
10393
10394
10395
10396
10397
10398
10399
10400
10401
10402
10403
10404
10405
10406
10407
10408
10409
10410
10411
10412
10413
10414
10415
10416
10417
10418
10419
10420
10421
10422
10423
10424
10425
10426
10427
10428
10429
10430
10431
10432
10433
10434
10435
10436
10437
10438
10439
10440
10441
10442
10443
10444
10445
10446
10447
10448
10449
10450
10451
10452
10453
10454
10455
10456
10457
10458
10459
10460
10461
10462
10463
10464
10465
10466
10467
10468
10469
10470
10471
10472
10473
10474
10475
10476
10477
10478
10479
10480
10481
10482
10483
10484
10485
10486
10487
10488
10489
10490
10491
10492
10493
10494
10495
10496
10497
10498
10499
10500
10501
10502
10503
10504
10505
10506
10507
10508
10509
10510
10511
10512
10513
10514
10515
10516
10517
10518
10519
10520
10521
10522
10523
10524
10525
10526
10527
10528
10529
10530
10531
10532
10533
10534
10535
10536
10537
10538
10539
10540
10541
10542
10543
10544
10545
10546
10547
10548
10549
10550
10551
10552
10553
10554
10555
10556
10557
10558
10559
10560
10561
10562
10563
10564
10565
10566
10567
10568
10569
10570
10571
10572
10573
10574
10575
10576
10577
10578
10579
10580
10581
10582
10583
10584
10585
10586
10587
10588
10589
10590
10591
10592
10593
10594
10595
10596
10597
10598
10599
10600
10601
10602
10603
10604
10605
10606
10607
10608
10609
10610
10611
10612
10613
10614
10615
10616
10617
10618
10619
10620
10621
10622
10623
10624
10625
10626
10627
10628
10629
10630
10631
10632
10633
10634
10635
10636
10637
10638
10639
10640
10641
10642
10643
10644
10645
10646
10647
10648
10649
10650
10651
10652
10653
10654
10655
10656
10657
10658
10659
10660
10661
10662
10663
10664
10665
10666
10667
10668
10669
10670
10671
10672
10673
10674
10675
10676
10677
10678
10679
10680
10681
10682
10683
10684
10685
10686
10687
10688
10689
10690
10691
10692
10693
10694
10695
10696
10697
10698
10699
10700
10701
10702
10703
10704
10705
10706
10707
10708
10709
10710
10711
10712
10713
10714
10715
10716
10717
10718
10719
10720
10721
10722
10723
10724
10725
10726
10727
10728
10729
10730
10731
10732
10733
10734
10735
10736
10737
10738
10739
10740
10741
10742
10743
10744
10745
10746
10747
10748
10749
10750
10751
10752
10753
10754
10755
10756
10757
10758
10759
10760
10761
10762
10763
10764
10765
10766
10767
10768
10769
10770
10771
10772
10773
10774
10775
10776
10777
10778
10779
10780
10781
10782
10783
10784
10785
10786
10787
10788
10789
10790
10791
10792
10793
10794
10795
10796
10797
10798
10799
10800
10801
10802
10803
10804
10805
10806
10807
10808
10809
10810
10811
10812
10813
10814
10815
10816
10817
10818
10819
10820
10821
10822
10823
10824
10825
10826
10827
10828
10829
10830
10831
10832
10833
10834
10835
10836
10837
10838
10839
10840
10841
10842
10843
10844
10845
10846
10847
10848
10849
10850
10851
10852
10853
10854
10855
10856
10857
10858
10859
10860
10861
10862
10863
10864
10865
10866
10867
10868
10869
10870
10871
10872
10873
10874
10875
10876
10877
10878
10879
10880
10881
10882
10883
10884
10885
10886
10887
10888
10889
10890
10891
10892
10893
10894
10895
10896
10897
10898
10899
10900
10901
10902
10903
10904
10905
10906
10907
10908
10909
10910
10911
10912
10913
10914
10915
10916
10917
10918
10919
10920
10921
10922
10923
10924
10925
10926
10927
10928
10929
10930
10931
10932
10933
10934
10935
10936
10937
10938
10939
10940
10941
10942
10943
10944
10945
10946
10947
10948
10949
10950
10951
10952
10953
10954
10955
10956
10957
10958
10959
10960
10961
10962
10963
10964
10965
10966
10967
10968
10969
10970
10971
10972
10973
10974
10975
10976
10977
10978
10979
10980
10981
10982
10983
10984
10985
10986
10987
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
11004
11005
11006
11007
11008
11009
11010
11011
11012
11013
11014
11015
11016
11017
11018
11019
11020
11021
11022
11023
11024
11025
11026
11027
11028
11029
11030
11031
11032
11033
11034
11035
11036
11037
11038
11039
11040
11041
11042
11043
11044
11045
11046
11047
11048
11049
11050
11051
11052
11053
11054
11055
11056
11057
11058
11059
11060
11061
11062
11063
11064
11065
11066
11067
11068
11069
11070
11071
11072
11073
11074
11075
11076
11077
11078
11079
11080
11081
11082
11083
11084
11085
11086
11087
11088
11089
11090
11091
11092
11093
11094
11095
11096
11097
11098
11099
11100
11101
11102
11103
11104
11105
11106
11107
11108
11109
11110
11111
11112
11113
11114
11115
11116
11117
11118
11119
11120
11121
11122
11123
11124
11125
11126
11127
11128
11129
11130
11131
11132
11133
11134
11135
11136
11137
11138
11139
11140
11141
11142
11143
11144
11145
11146
11147
11148
11149
11150
11151
11152
11153
11154
11155
11156
11157
11158
11159
11160
11161
11162
11163
11164
11165
11166
11167
11168
11169
11170
11171
11172
11173
11174
11175
11176
11177
11178
11179
11180
11181
11182
11183
11184
11185
11186
11187
11188
11189
11190
11191
11192
11193
11194
11195
11196
11197
11198
11199
11200
11201
11202
11203
11204
11205
11206
rule,project,file,line,verdict,reason,provenance,confidence
MSC37-C,curl,lib/curl_get_line.c,35,FP,Infinite loop always returns from inside; no fallthrough to end of function.,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curl_get_line.c,42,FP,fgets return checked via 'b ? strlen(b) : 0' and feof handling.,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/curl_get_line.c,42,FP,NULL return handled; eof tracked separately. Idiomatic line reader.,curl_full_audit_0.4.35,high
FIO20-C,curl,lib/curl_get_line.c,42,FP,Truncation handled: loops to append until newline or EOF.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curl_get_line.c,56,FP,b[rlen-1] guarded by 'rlen &&'; b is dyn buffer ptr.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_sasl.h,131,FP,sasl_mech_equal is standard predicate macro; multiple-eval advisory only.,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_sasl.h,131,FP,wordlen multiple-eval on side-effect-free arg; idiomatic macro.,curl_full_audit_0.4.35,high
API02-C,curl,lib/curl_sasl.h,136,FP,maxlen already bounds ptr; advisory size-param noise.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sasl.h,136,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sasl.h,141,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.h,46,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.h,53,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.h,57,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.h,62,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.h,67,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API01-C,curl,lib/doh.h,85,FP,"Fixed DNS req buffer in internal struct; bounds-checked encoder, not overflowable string.",curl_full_audit_0.4.35,med
API02-C,curl,lib/doh.h,162,FP,olen already bounds output; advisory size-param noise.,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.h,162,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.h,164,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.h,167,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,lib/escape.h,35,FP,length param already bounds string; advisory size-param noise.,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.h,35,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.h,36,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.h,39,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.h,40,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip6.c,65,FP,Internal resolver; data always valid handle from callers. Not exported NULL-deref risk.,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip6.c,65,FP,hostname always supplied by internal callers; not user-facing entrypoint.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/hostip6.c,95,FP,inet_pton documented to return exactly 1 on success; '==1' is correct idiom.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/hostip6.c,96,FP,inet_pton documented to return exactly 1 on success; '==1' is correct idiom.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip6.c,117,FP,"res is a pointer to heap addrinfo from Curl_getaddrinfo_ex, not local auto storage.",curl_full_audit_0.4.35,high
API02-C,curl,lib/http1.h,50,FP,"Parser API; advisory size-param noise, callee bounds internally.",curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.h,51,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.h,52,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.h,53,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http1.h,54,FP,pnread is out-param written by callee; cannot be const.,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/select.h,83,FP,ufds[] is array param decaying to pointer; nfds gives count. Valid prototype.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/select.h,105,FP,VERIFY_SOCK control-flow macro (do/while with return); needs multiple eval intentionally.,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/select.h,105,FP,"x evaluated twice on side-effect-free socket arg; control macro, not inlinable.",curl_full_audit_0.4.35,high
PRE02-C,curl,lib/select.h,171,FP,"Replacement is single function call expression; parens unnecessary, advisory.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/select.h,192,FP,pwant_read is out-param written by Curl_pollset_check; cannot be const.,curl_full_audit_0.4.35,high
API02-C,curl,lib/setup-os400.h,61,FP,OS400 getnameinfo shim; signature fixed by platform API. Advisory noise.,curl_full_audit_0.4.35,high
API02-C,curl,lib/setup-os400.h,61,FP,OS400 getnameinfo shim; signature fixed by platform API. Advisory noise.,curl_full_audit_0.4.35,high
API02-C,curl,lib/setup-os400.h,125,FP,recvfrom shim; buflen already present. Signature fixed by socket API.,curl_full_audit_0.4.35,high
API02-C,curl,lib/setup-os400.h,127,FP,getpeername shim; addrlen is in/out len. Signature fixed by socket API.,curl_full_audit_0.4.35,high
API02-C,curl,lib/setup-os400.h,128,FP,getsockname shim; addrlen is in/out len. Signature fixed by socket API.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vquic/vquic_int.h,80,FP,H3_STREAM_CTX accessor macro; idiomatic single-arg lookup.,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vquic/vquic_int.h,80,FP,data used as member-access base in macro; parenthesization not needed there.,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/vquic/vquic_int.h,80,FP,Accessor macro evaluates data twice on side-effect-free arg; idiomatic.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic_int.h,95,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic_int.h,121,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_writeout_json.h,30,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_writeout_json.h,32,FP,mappings[] is NUL-sentinel-terminated table; no count param needed.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_writeout_json.h,32,FP,mappings[] array param decays to pointer; sentinel-terminated. Valid prototype.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_writeout_json.h,35,FP,FILE* and per_transfer struct ptrs; not array buffers. Advisory noise.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_writeout_json.h,36,FP,in is NUL-terminated C string; no count param needed.,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easyoptions.c,32,FP,Curl_easyopts is intentionally exported (used across translation units/tests).,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easyoptions.c,32,FP,Generated global option table; must be file-scope and exported.,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/easyoptions.c,32,FP,Sentinel-terminated initializer table; implicit bounds idiomatic and valid.,curl_full_audit_0.4.35,high
INT10-C,curl,lib/easyoptions.c,388,FP,CURLOPT_LASTENTRY is positive enum constant; modulo never sees negative operand.,curl_full_audit_0.4.35,high
DCL38-C,curl,lib/hostip.h,68,TP,hostname[1] struct-hack; CERT DCL38 prefers []. Intentional portability idiom though.,curl_full_audit_0.4.35,low
STR31-C,curl,lib/hostip.h,68,FP,hostname[1] is flexible struct-hack member allocated larger; not undersized buffer.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.h,144,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.h,162,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,lib/http_proxy.h,38,FP,"pport is int out-param, not array; advisory noise.",curl_full_audit_0.4.35,high
API02-C,curl,lib/http_proxy.h,50,FP,"pres1 is int out-param, not array; advisory noise.",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/http_proxy.h,61,FP,"IS_HTTPS_PROXY predicate macro; idiomatic comparison, side-effect-free arg.",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/http_proxy.h,61,FP,t evaluated twice on enum value; idiomatic predicate macro.,curl_full_audit_0.4.35,high
API00-C,curl,lib/psl.c,42,FP,Internal API; easy always valid handle. Sibling fns also deref unchecked.,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/psl.c,70,FP,psl assigned via psl_latest() at line 69 before use; #ifdef branch sqc can't connect.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/psl.c,94,FP,"psl is const pointer aliasing pslcache->psl (heap/static), not local auto address.",curl_full_audit_0.4.35,high
API00-C,curl,lib/psl.c,97,FP,Thin wrapper to Curl_share_unlock; does not itself deref easy in unsafe way.,curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.h,30,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.h,43,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.h,49,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.h,55,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi-int.h,28,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi-int.h,28,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,lib/urlapi-int.h,33,FP,urllen already bounds url; advisory size-param noise.,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi-int.h,33,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.h,34,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,lib/vquic/vquic.h,37,FP,"qlogfdp is int* out-param, not array; advisory noise.",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.h,38,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.h,40,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.h,76,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.h,113,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.h,116,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.h,117,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.h,92,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.h,140,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.h,143,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.h,144,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.h,52,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.h,81,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.h,84,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.h,85,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_doswin.h,33,FP,sanitized is char** out-param allocated by callee; not input array.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_doswin.h,37,FP,DJGPP crt0 glob hook; signature fixed by toolchain. Advisory noise.,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_doswin.h,37,FP,__crt0_glob_function name mandated by DJGPP runtime; platform shim.,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_doswin.h,37,FP,__crt0_glob_function reserved name mandated by DJGPP runtime; cannot rename.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_helpers.c,80,FP,reqname[] initializer table; implicit bounds idiomatic and valid C.,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_helpers.c,96,FP,"req is HttpReq enum bounded to table size; internal callers only, not attacker index.",curl_full_audit_0.4.35,med
ARR02-C,curl,src/tool_helpers.c,104,FP,dflt[] initializer table; implicit bounds idiomatic and valid C.,curl_full_audit_0.4.35,high
EXP15-C,curl,src/tool_helpers.c,113,FP,Intentional empty 'if(!method);' guarding else-if chain; deliberate no-op.,curl_full_audit_0.4.35,med
ERR33-C,curl,src/toolx/tool_time.c,53,FP,localtime return checked at line 54 ('if(tm)'); only in no-localtime_r fallback.,curl_full_audit_0.4.35,high
CON33-C,curl,src/toolx/tool_time.c,53,TP,localtime() async/thread-unsafe; CERT CON33 fires though it's a guarded last-resort fallback.,curl_full_audit_0.4.35,low
CON34-C,curl,src/toolx/tool_time.c,53,FP,Duplicate of CON33-C at same localtime site; count once.,curl_full_audit_0.4.35,high
MEM33-C,curl,src/toolx/tool_time.c,55,FP,struct tm has no flexible array member; '*store=*tm' is valid struct assignment.,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufref.c,72,FP,"dtor function pointer stored, called later only if non-NULL; no deref here.",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufref.c,72,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufref.c,120,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API02-C,curl,lib/cf-socket.h,60,FP,dev is char** out-param allocated by callee; not sized input array.,curl_full_audit_0.4.35,high
API02-C,curl,lib/cf-socket.h,60,FP,iface is char** out-param allocated by callee; not sized input array.,curl_full_audit_0.4.35,high
API02-C,curl,lib/cf-socket.h,60,FP,host is char** out-param allocated by callee; not sized input array.,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-os400.h,140,FP,__cplusplus__strings__ is platform/compiler-defined macro guard; cannot rename.,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-os400.h,209,FP,_LARGE_FILES mandated by OS400 feature-test convention; platform shim.,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-os400.h,286,FP,"__ptr128 is compiler-reserved keyword/macro; platform shim, cannot rename.",curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-win32.h,189,FP,_SSIZE_T_DEFINED is Windows CRT feature-guard convention; cannot rename.,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-win32.h,192,FP,_SSIZE_T_DEFINED is Windows CRT feature-guard convention; cannot rename.,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/config-win32.h,255,FP,_FILE_OFFSET_BITS standard glibc/CRT feature-test macro; cannot rename.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_hmac.h,66,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_hmac.h,67,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_hmac.h,68,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
STR31-C,curl,lib/curl_sha512_256.h,34,FP,"Curl_HMAC_SHA512_256[1] is const struct array (extern decl idiom), not char buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.h,38,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.h,38,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/curl_sspi.c,107,FP,"identity is genuine struct pointer; sizeof(*identity) is the struct size, correct for memset.",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/curl_sspi.c,142,FP,"dup_domain freshly malloc'd, domain points into separate buffer; regions disjoint.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sspi.c,198,FP,Function frees identity->members via safefree (nulls them); *identity is modified.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strcopy.c,38,FP,"Conformant-array-syntax advisory; curl never uses C99 array params, idiomatic char*/size_t.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strcopy.c,40,FP,const char* source param; conformant-array advisory not applicable to curl style.,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/curlx/strcopy.c,45,FP,memcpy guarded by if(slen<dsize) plus DEBUGASSERT; size validated.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/easygetopt.c,34,FP,!Curl_easyopts_check() inside DEBUGASSERT; idiomatic boolean test.,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/easygetopt.c,47,FP,o points into Curl_easyopts[] array; o++ is in-bounds array iteration.,curl_full_audit_0.4.35,high
API00-C,curl,lib/easygetopt.c,53,FP,"Thin wrapper to lookup() which guards if(name); internal API, no deref.",curl_full_audit_0.4.35,high
DCL38-C,curl,lib/headers.h,36,FP,char buffer[1] struct-hack over-allocated at malloc; intentional C89 idiom.,curl_full_audit_0.4.35,med
STR31-C,curl,lib/headers.h,36,FP,"char[1] is over-allocated trailing struct-hack buffer, not fixed-size string.",curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.h,48,FP,Conformant-array advisory on const char* header param; not curl convention.,curl_full_audit_0.4.35,high
DCL38-C,curl,lib/hsts.h,39,FP,char host[1] struct-hack over-allocated; intentional C89 flexible-member idiom.,curl_full_audit_0.4.35,med
STR31-C,curl,lib/hsts.h,39,FP,"host[1] is over-allocated struct-hack buffer, not a fixed string buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/hsts.h,53,FP,Conformant-array advisory on const char* hostname; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/socks.h,35,FP,"buf already has blen size param; pnread is scalar out-param, not array.",curl_full_audit_0.4.35,high
API05-C,curl,lib/socks.h,37,FP,Conformant-array advisory on char* buf; not curl convention.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.h,39,FP,pnread is *output* param (bytes read written through it); const wrong.,curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-table.h,69,FP,"pkey is scalar uint32_t out-param, not an array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-table.h,79,FP,"pkey scalar out-param; iterator API, no array capacity needed.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-table.h,93,FP,"pkey scalar out-param; iterator API, no array capacity needed.",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cram.c,49,FP,"Internal auth helper; callers pass valid userp, not public NULL contract.",curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/cram.c,49,FP,"Internal auth helper; passwdp always valid from caller, not public API.",curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vauth/cram.c,67,FP,"uptr() and len() both read chlg, neither mutates; no unsequenced side effects.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_cb_hdr.h,52,FP,FILE* stream is not an array; libcurl write-callback signature fixed.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.h,58,FP,Conformant-array advisory on callback ptr; signature fixed by libcurl.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.h,58,FP,"Conformant-array advisory; not curl convention, fixed callback signature.",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_soc.c,38,FP,"Opensocket callback; addr supplied by libcurl, signature fixed, always valid.",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_soc.c,38,FP,Callback signature fixed by CURLOPT_OPENSOCKETFUNCTION typedef; const cannot be added.,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_soc.c,40,FP,Callback signature fixed by libcurl typedef; addr param const not addable.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_getparam.h,376,FP,"certname is char** out-param, not an array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_getparam.h,376,FP,"passphrase is char** out-param, not an array needing capacity.",curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.h,382,FP,argv_item_t argv[] is standard main-style param; explicit bound inapplicable.,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_listhelp.c,36,FP,"helptext[] is extern, referenced from other TUs; cannot be static.",curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_listhelp.c,36,FP,Generated extern table consumed elsewhere; file scope required.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_listhelp.c,36,FP,Initializer-sized helptext[] table; implicit bound idiomatic and correct.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_urlglob.h,74,FP,urlnum/error scalars; no array param needs capacity argument.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_urlglob.h,76,FP,"globbed is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_urlglob.h,77,FP,"output is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_util.c,57,FP,"time(NULL) fallback for wall clock; failure non-actionable, used only as timestamp.",curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_util.c,114,FP,"*lastdirchar = 0 is a write of literal 0, not a sign-extending char read.",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_util.c,119,FP,"*pathp = filebuffer is char** pointer assignment, not signed-char read.",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufref.h,40,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufref.h,45,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/connect.h,34,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/connect.h,75,FP,port is uint16_t* scalar out-param; sa already has salen; no array.,curl_full_audit_0.4.35,high
API02-C,curl,lib/cshutdn.h,96,FP,maxfd scalar out-param; fd_set args not arrays needing capacity.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cshutdn.h,98,FP,read_fd_set is populated (FD_SET) by the function; const wrong.,curl_full_audit_0.4.35,high
API02-C,curl,lib/curl_fopen.h,28,FP,"fh is FILE** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/curl_fopen.h,28,FP,"tempname is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/curl_get_line.h,29,FP,"buf is dynbuf*, input FILE*, eof bool*; none are sized arrays.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_get_line.h,29,FP,FILE* input is consumed (read from) by getc; const FILE* not addable/wrong.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_md4.h,32,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_md4.h,32,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_md5.h,56,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_md5.h,56,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha256.h,40,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha256.h,40,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/fopen.h,50,FP,"fh is FILE* handle, not array; freopen-style signature fixed.",curl_full_audit_0.4.35,high
EXP37-C,curl,lib/curlx/fopen.h,52,FP,Declaration matches system freopen prototype; correct headers included via setup.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.h,47,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.h,47,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strcopy.h,27,FP,"Conformant-array-syntax advisory; mirrors strcopy.c decl, not curl convention.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strcopy.h,29,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strdup.h,31,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strdup.h,32,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
INT10-C,curl,lib/curlx/timediff.c,44,FP,"ms%1000 guarded by if(ms>0); operand positive, no negative-modulo UB.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curlx/timediff.c,82,FP,struct timeval* read-only here but standard signature; curl style not project-wide const.,curl_full_audit_0.4.35,med
DCL00-C,curl,lib/curlx/wait.c,60,FP,r is reassigned by select() result on the POSIX path; not const-able.,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/curlx/wait.c,83,FP,"select(0,NULL,NULL,NULL,tv); all fd_set args NULL, no restrict aliasing.",curl_full_audit_0.4.35,high
API02-C,curl,lib/easyif.h,29,FP,"buffer has its own size arg; n is scalar out-param, not array.",curl_full_audit_0.4.35,high
API05-C,curl,lib/easyif.h,29,FP,Conformant-array-syntax advisory on const void* buffer; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftplistparser.h,31,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftplistparser.h,32,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/http_chunks.h,127,FP,"pconsumed is scalar size_t* out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API05-C,curl,lib/http_chunks.h,128,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/idn.h,32,FP,"output is char** out-param (decoded string), not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/idn.h,33,FP,"output is char** out-param (encoded string), not array needing capacity.",curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.h,52,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.h,53,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.h,153,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.h,154,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/multi_ntfy.h,50,FP,"CURLM_NTFY guard macro; args are side-effect-free lvalue pointers, multiple eval harmless.",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/multi_ntfy.h,50,FP,"Multiple eval of d, but d is always a plain pointer var; idiomatic null-guard macro.",curl_full_audit_0.4.35,med
API02-C,curl,lib/netrc.h,51,FP,"loginp is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/netrc.h,51,FP,"passwordp is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-bset.h,84,FP,"pfirst scalar uint32_t* out-param; bitset iterator, no array capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-bset.h,97,FP,"pnext scalar uint32_t* out-param; bitset iterator, no array capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-spbset.h,75,FP,"pfirst scalar out-param; sparse bitset iterator, no array capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/uint-spbset.h,88,FP,"pnext scalar out-param; sparse bitset iterator, no array capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/vauth/digest.h,34,FP,value/content are char* output buffers in fixed digest-pair API; not capacity-arg style.,curl_full_audit_0.4.35,high
API02-C,curl,lib/vauth/digest.h,34,FP,"content is char* output buffer; digest-pair parser API, no added size arg.",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/oauth2.c,86,FP,"Internal auth helper; user always valid from caller, not public NULL contract.",curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/oauth2.c,86,FP,"Internal auth helper; bearer always valid from caller, not public NULL contract.",curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/spnego_gssapi.c,72,FP,"data used only for infof logging; internal helper, callers pass valid handle.",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/spnego_gssapi.c,220,FP,Conformant-array-syntax advisory on char** outptr; not curl convention.,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.h,34,FP,"8-char header-name collision advisory; external ngtcp2 names, irrelevant on modern FS.",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.h,51,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API02-C,curl,lib/vssh/vssh.h,32,FP,"path is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,lib/vssh/vssh.h,36,FP,"path is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/cipher_suite.h,31,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/cipher_suite.h,40,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.h,31,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.h,32,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/keylog.h,59,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/keylog.h,61,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/curlinfo.c,46,FP,disabled[] string-literal table sized by initializer; implicit bound idiomatic.,curl_full_audit_0.4.35,high
FIO23-C,curl,src/curlinfo.c,270,FP,Standalone codegen tool main(); process exit flushes stdout; non-actionable.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.h,33,FP,Conformant-array-syntax advisory on debug callback; signature fixed by libcurl.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.h,34,FP,Conformant-array-syntax advisory on debug callback; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_rea.h,32,FP,Conformant-array-syntax advisory on read callback; signature fixed by libcurl.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_rea.h,32,FP,Conformant-array-syntax advisory on read callback; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_wrt.h,32,FP,Conformant-array-syntax advisory on write callback; signature fixed by libcurl.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_wrt.h,32,FP,Conformant-array-syntax advisory on write callback; not curl convention.,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_cfgable.h,36,FP,tool_safefree must null caller's lvalue; cannot be inline fn; args side-effect-free.,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_cfgable.h,36,FP,Standard safe-free macro nulls caller var; double-use of ptr is required idiom.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_formparse.h,60,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_formparse.h,61,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.h,35,FP,Conformant-array-syntax advisory on password buffer; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.h,35,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
DCL23-C,curl,src/tool_libinfo.h,53,FP,"feature_http2 named after protocol; trailing digit is meaningful, not confusing.",curl_full_audit_0.4.35,high
DCL23-C,curl,src/tool_libinfo.h,54,FP,"feature_http3 named after protocol; trailing digit is meaningful, not confusing.",curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.h,28,FP,8-char filename-collision advisory; irrelevant on modern filesystems.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_operate.h,82,FP,argv[] standard main-style param in struct; explicit bound inapplicable.,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_operhlp.h,33,FP,"inurlp is char** in/out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_operhlp.h,34,FP,"filename is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_parsecfg.h,30,FP,"resolved is char** out-param, not array needing capacity.",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_parsecfg.h,32,FP,"fp FILE*, db dynbuf*, error bool*; none sized arrays.",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_progress.h,41,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_progress.h,42,FP,Conformant-array-syntax advisory; not curl convention.,curl_full_audit_0.4.35,high
DCL38-C,curl,src/var.h,32,FP,char name[1] struct-hack over-allocated with struct; intentional C89 idiom.,curl_full_audit_0.4.35,med
STR31-C,curl,src/var.h,32,FP,"name[1] over-allocated struct-hack buffer, not a fixed-size string.",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_endian.c,79,FP,"buf is documented 2-byte buffer contract; internal byte-reader, callers pass valid.",curl_full_audit_0.4.35,high
API02-C,curl,lib/curl_gethostname.h,31,FP,Advisory style; signature already has namelen size arg; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ldap.h,31,FP,Conformant-array-syntax advisory; curl never uses C99 array params (brief #1),curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_memrchr.c,37,FP,memrchr clone with void* signature; conformant-array syntax inapplicable; advisory FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_memrchr.h,35,FP,Declaration matching memrchr clone; advisory conformant-array syntax FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curlx/basename.c,54,FP,POSIX basename drop-in; non-const mandated by macro fallback and contract; const breaks it,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/basename.h,29,FP,basename returns pointer into path; size arg meaningless; advisory FP,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/dynbuf.h,60,FP,dyn_take returns owned buffer with plen out-param; capacity arg inapplicable; advisory FP,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curlx/nonblock.c,45,FP,"Every #if branch returns; final #else is #error, so no end-fallthrough exists",curl_full_audit_0.4.35,high
PRE06-C,curl,lib/curlx/snprintf.h,1,TP,Header genuinely lacks include guard; only defines SNPRINTF macro; minor but factually correct,curl_full_audit_0.4.35,low
API05-C,curl,lib/curlx/strerr.h,27,FP,"char *buf,size_t buflen strerror signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
EXP37-C,curl,lib/getinfo.h,26,FP,Legitimate internal variadic declaration (getinfo); declaring variadic in header is normal C,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.h,35,FP,"const char*q,size_t len signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/httpsrr.h,61,FP,"const uint8_t*val,size_t vlen signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/strerror.h,29,FP,"char *buf,size_t buflen sspi_strerror signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.h,36,FP,"char *p,size_t len version signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/ssh.h,256,FP,"char *buffer,size_t buflen version signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_int.h,76,FP,"const unsigned char*proto,size_t proto_len; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.h,38,FP,"const void*bufv,size_t buflen unpack signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.h,38,FP,"const char*mem,size_t nread ws_accept signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
EXP36-C,curl,src/slist_wc.c,36,FP,"char* is data arg, not cast to slist; append returns properly-aligned malloc'd struct; no alignment issue",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_see.c,37,FP,CURLOPT_SEEKFUNCTION callback; fixed function-pointer signature; const cannot be added,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_filetime.c,86,FP,Internal helper passing filename to OS CreateFile/utime; callers supply valid name; no deref-without-check,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_help.h,48,FP,"const unsigned char*buf,size_t len helpscan signature; conformant-array advisory FP",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_ipfs.h,30,FP,char **url out-param for owned string; capacity arg inapplicable; advisory FP,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_util.h,38,FP,char **pathp out-param for owned path string; capacity arg inapplicable; advisory FP,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_rtmp.c,41,FP,"Replacement is a variable declaration 'int tv=...'; tv is a declarator, cannot parenthesize",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_rtmp.c,41,FP,s only used as s*1000 with literal arg; no precedence risk; decl-defining macro,curl_full_audit_0.4.35,high
PRE02-C,curl,lib/curl_rtmp.c,41,FP,"Replacement is a declaration; wrapping in parens is invalid C, misparse",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_rtmp.c,43,FP,"struct timeval tv={s,0} declaration; tv is declarator, not expression",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_rtmp.c,43,FP,"s used in initializer list element; literal arg, no precedence risk",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.c,54,FP,"Hash dtor callback signature fixed by typedef; void* params, no array syntax",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_rtmp.c,54,FP,rtmp_conn_dtor signature fixed by hash dtor function-pointer typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.c,54,FP,Callback signature fixed by typedef; convention FP,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,56,FP,"r=entry, pointee mutated via RTMP_Close/Free; const-local style, not actionable",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_rtmp.c,60,FP,RTMP_Close then RTMP_Free are distinct ops; Close does not free,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,66,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_rtmp.c,66,FP,r ownership transferred to conn meta; rtmp_conn_dtor frees it,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_rtmp.c,76,FP,r owned by conn meta (dtor frees); comment notes dtor performs cleanup,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_rtmp.c,79,FP,connect_it vtable signature; data heavily mutated; typedef-fixed,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,82,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_rtmp.c,117,FP,"rtmp_recv is a forward-declared static function, not an uninit variable",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_rtmp.c,118,FP,"rtmp_send is a forward-declared static function, not an uninit variable",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,125,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_rtmp.c,140,FP,done vtable signature; data param unused/void; typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_rtmp.c,150,FP,disconnect vtable signature; typedef-fixed,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,154,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.c,162,FP,rtmp_recv vtable signature (Curl_recv); convention FP,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,166,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_rtmp.c,188,FP,rtmp_send vtable signature; data used via data->conn; typedef-fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.c,189,FP,Curl_send vtable signature; convention FP,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_rtmp.c,193,FP,single-assignment local style flag; not actionable,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.c,209,FP,version buffer filled by msnprintf; curl never uses array-param syntax,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_rtmp.c,212,FP,Byte-extraction from version constant; idiomatic mask+shift,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,250,FP,"Curl_scheme_rtmp is exported, consumed by scheme table elsewhere; needs external linkage",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,250,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,263,FP,Exported scheme global; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,263,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,276,FP,Exported scheme global; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,276,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,289,FP,Exported scheme global; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,289,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,302,FP,Exported scheme global; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,302,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_rtmp.c,315,FP,Exported scheme global; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curl_rtmp.c,315,FP,Exported global needed across translation units,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/netrc.c,34,FP,__NO_NET_API is an AmigaOS platform shim matching a system macro name,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/netrc.c,74,FP,file is closed at line 102 via curlx_fclose(file),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/netrc.c,83,FP,line assigned at 86 and only used within the same if(!result) block,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/netrc.c,89,FP,dyn_ptr non-NULL after successful Curl_get_line+add; idiomatic,curl_full_audit_0.4.35,med
STR34-C,curl,lib/netrc.c,116,FP,Reading char* from char**; no char-to-larger sign extension,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/netrc.c,117,FP,Plain pointer initialization to NULL; not a sensitive-buffer clear site,curl_full_audit_0.4.35,low
ARR30-C,curl,lib/netrc.c,140,FP,Tokenizer walks NUL-terminated in-memory file buffer; terminator-bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/netrc.c,142,FP,while(tok && !done) loop; tok terminator-bounded; idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/netrc.c,143,FP,tok_end assigned at 160 (tok_end=tok) before any use,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/netrc.c,182,FP,while(*tok_end) walks NUL-terminated buffer; terminator-bounded,curl_full_audit_0.4.35,high
STR34-C,curl,lib/netrc.c,184,FP,char s=*tok_end compared to char literals; no widening sign-extension,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/netrc.c,255,FP,"tok set to dyn_ptr or """" and never NULL at this switch; guarded",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/netrc.c,272,FP,!Curl_timestrcmp idiom for string-equality; idiomatic boolean use,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,272,FP,specific_login branch; login not freed here (free is in else branch),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,275,FP,free-then-strdup reassignment; not a double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,286,FP,curlx_free then immediate strdup reassign; not a double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,309,FP,"Curl_safefree nulls password; new-machine reset, not double-free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,311,FP,Curl_safefree nulls login on non-specific reset; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,316,FP,Curl_safefree nulls password on default reset; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,318,FP,Curl_safefree nulls login on default reset; not double-free,curl_full_audit_0.4.35,high
STR34-C,curl,lib/netrc.c,335,FP,"netrcbuffer=&nl[1] is pointer arithmetic, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/netrc.c,335,FP,Pointer arithmetic on nl; no char-to-larger assignment,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/netrc.c,355,FP,"login is heap (strdup), not a local; *loginp=login returns valid heap ptr",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,355,FP,Success path; login not freed; writing valid heap pointer to out-param,curl_full_audit_0.4.35,high
STR34-C,curl,lib/netrc.c,355,FP,"*loginp is char**; assigning pointer, not char sign-extension",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/netrc.c,356,FP,password is heap (strdup); *passwordp=password returns valid heap ptr,curl_full_audit_0.4.35,high
STR34-C,curl,lib/netrc.c,356,FP,"*passwordp is char**; pointer assignment, not char widening",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,362,FP,Error-path cleanup frees login once; loop frees were reassign or safefree,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,363,FP,Error-path cleanup frees password once; not a double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/netrc.c,363,FP,Single error-path free of password; prior frees were reassign/safefree,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/netrc.c,392,FP,Both if/else assign retcode and fall to return retcode at end,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/netrc.c,415,FP,pw_res is out-param written by getpwuid_r before being read,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/netrc.c,442,FP,"homea is from curl_getenv (returns heap copy), not raw getenv; must be freed",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/netrc.c,447,FP,filealloc is heap from curl_getenv/curl_maprintf; freeing is correct,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/netrc.c,453,FP,homea is heap from curl_getenv; freeing on OOM path is correct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,456,FP,filealloc reassigned at 451 (curl_maprintf) before reuse; new allocation,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/netrc.c,457,FP,filealloc is heap from curl_maprintf; freeing is correct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/netrc.c,457,FP,filealloc reassigned at 451 between the two frees; no double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/netrc.c,457,FP,filealloc reassigned at 451; single free of new allocation,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/netrc.c,460,FP,homea is heap from curl_getenv; final free is correct,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sha256.c,63,FP,init/final lifecycle pair; ctx destroyed in my_sha256_final or error path,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sha256.c,74,FP,my_sha256_update assigned to HMAC_params vtable; signature typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sha256.c,82,FP,my_sha256_final vtable signature; 'in' cast and mutated,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sha256.c,191,FP,Win32 my_sha256_update vtable signature; typedef-fixed,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/sha256.c,196,FP,"BYTE is unsigned char (align 1), not align 4; no alignment increase",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sha256.c,199,FP,Win32 my_sha256_final vtable signature; typedef-fixed,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/sha256.c,222,FP,Vendored LibTomCrypt macro; controlled call sites with no side effects,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,222,FP,"WPA_GET_BE32 indexes (a)[n]; arg always simple ptr expr, no side effect",curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,227,FP,Vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,227,FP,"WPA_PUT_BE32 multi-indexes a; arg is simple ptr, no side effect",curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,235,FP,Vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,235,FP,"WPA_PUT_BE64 multi-indexes a; arg simple ptr, no side effect",curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,272,FP,RORc vendored crypto rotate macro; callers pass simple vars,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,272,FP,"RORc evaluates x,y multiple times but args are side-effect-free",curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,276,FP,Sha256_Ch vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,276,FP,"Vendored crypto; x always simple var (e), no precedence risk in practice",curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,276,FP,"Vendored crypto; y always simple var, no actual misexpansion",curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,276,FP,"Vendored crypto; z always simple var, no actual misexpansion",curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,276,FP,z evaluated twice but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,277,FP,Sha256_Maj vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,277,FP,"Vendored crypto; x always simple var, no precedence risk",curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,277,FP,x evaluated twice but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,281,FP,Sigma0 vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,281,FP,x evaluated multiple times but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,282,FP,Sigma1 vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,282,FP,x evaluated multiple times but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,283,FP,Gamma0 vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,283,FP,x evaluated multiple times but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,284,FP,Gamma1 vendored crypto macro; controlled call sites,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,284,FP,x evaluated multiple times but args side-effect-free,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/sha256.c,305,FP,RND vendored crypto compress macro; controlled call sites,curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,305,FP,"d used as d+=t0 (lvalue, simple var S[3]); no precedence risk",curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,305,FP,h used as simple lvalue; no precedence risk in practice,curl_full_audit_0.4.35,low
PRE01-C,curl,lib/sha256.c,305,FP,"i indexes K[i]/W[i]; always simple loop var, no precedence risk",curl_full_audit_0.4.35,low
PRE12-C,curl,lib/sha256.c,305,FP,a evaluated twice but args side-effect-free,curl_full_audit_0.4.35,low
EXP05-C,curl,lib/sha256.c,379,FP,CURLMIN macro misparse; n=CURLMIN(...) has no const cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sha256.c,399,FP,"out is the output buffer, written via WPA_PUT_BE32; must not be const",curl_full_audit_0.4.35,high
API05-C,curl,lib/sha256.c,454,FP,Curl_sha256it output/input buffers; curl never uses array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/sha256.c,454,FP,Convention FP; no C99 array-param syntax in curl,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/sha256.c,460,FP,my_sha256_init writes/initializes ctx; it does not read uninit data,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks_sspi.c,59,TP,"static helper, cf only read (cf->conn); const addable, not vtable-bound",curl_full_audit_0.4.35,low
STR34-C,curl,lib/socks_sspi.c,71,FP,*service_namep is char* assigned a pointer; no char sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/socks_sspi.c,73,FP,"pointer assignment, not signed-char widening",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/socks_sspi.c,79,FP,"standard SSPI AcquireCredentialsHandle out param, distinct pointers",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_sspi.c,244,FP,"CURLE_OK is an enum value, not a freed pointer",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks_sspi.c,247,FP,socks5_free writes through sspi_w_token (Curl_safefree nulls members),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socks_sspi.c,314,FP,"pvBuffer set at 312; line checks malloc result, not uninitialized read",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,321,FP,return socks5_free() frees all three tokens; no leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,328,FP,socks5_free frees tokens on this error return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,334,FP,socks5_free frees tokens; etbuf still NULL here,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,339,FP,socks5_free frees tokens; etbuf NULL at this point,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,343,FP,etbuf just failed malloc (NULL); socks5_free frees tokens,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,361,FP,etbuf freed here; tokens already freed at 351,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,369,FP,"nec branch: etbuf NULL, tokens freed at 351",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,378,FP,etbuf freed at 375; tokens freed at 351,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,385,FP,etbuf freed; tokens freed; nothing leaked,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,391,FP,etbuf freed; tokens freed earlier,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,397,FP,etbuf freed; tokens freed earlier,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,406,FP,token[0] just failed malloc (NULL); nothing to leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,414,FP,token[0] freed at 413 before return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,431,FP,token[0] freed at 430; token[1] freed via FreeContextBuffer,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,440,FP,token[0] freed at 439; token[1] freed at 438,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,451,FP,token[0] freed at 450 before return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_sspi.c,462,FP,"token[0] freed at 455; success return, no leak",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_sspi.c,462,FP,"CURLE_OK is enum, not freed pointer",curl_full_audit_0.4.35,high
API00-C,curl,lib/socks_sspi.c,465,FP,internal negotiate fn; cf/data guaranteed valid by callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/socks_sspi.c,465,FP,data always valid from connection state; not externally exported entry,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks_sspi.c,487,FP,socks5_sspi_setup guarantees non-NULL service_name or returns error (checked 483),curl_full_audit_0.4.35,high
MSC07-C,curl,lib/socks_sspi.c,519,FP,error: label reached via goto; not unreachable,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_sspi.c,521,FP,"Curl_safefree nulls service_name; single free per path, no double-free",curl_full_audit_0.4.35,high
API05-C,curl,lib/version.c,83,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/version.c,87,FP,"bit-mask version decode; literal masks idiomatic, advisory",curl_full_audit_0.4.35,high
API05-C,curl,lib/version.c,94,FP,conformant-array style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/version.c,105,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
INT13-C,curl,lib/version.c,111,FP,num is positive psl version number; signed shift advisory only,curl_full_audit_0.4.35,med
INT13-C,curl,lib/version.c,111,FP,"version-number masking, positive value; advisory",curl_full_audit_0.4.35,med
INT13-C,curl,lib/version.c,111,FP,"version-number masking, positive value; advisory",curl_full_audit_0.4.35,med
API05-C,curl,lib/version.c,123,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/version.c,145,FP,curl_version is public exported libcurl API; needs external linkage,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/version.c,198,FP,getenv result checked by if(debugversion) at 199,curl_full_audit_0.4.35,high
CON34-C,curl,lib/version.c,198,FP,"DEBUGBUILD-only diagnostic getenv; advisory, value copied immediately",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/version.c,201,FP,"out is static char[300], not stack-local; safe to return",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/version.c,201,FP,static buffer zero-initialized; written before return,curl_full_audit_0.4.35,high
STR34-C,curl,lib/version.c,278,FP,strlen(src[j]) into size_t; no char widening at this site,curl_full_audit_0.4.35,high
STR34-C,curl,lib/version.c,284,FP,*outp++ = ' ' writes a literal char; no sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/version.c,284,FP,outp points into out[300] array; valid pointer arithmetic,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/version.c,287,FP,"memcpy size_t n, no const cast present (misparse)",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/version.c,288,FP,outp += n indexes into out[300] array,curl_full_audit_0.4.35,high
STR34-C,curl,lib/version.c,291,FP,*outp = 0 writes a char; no sign extension,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/version.c,293,FP,"out is static buffer, not destroyed on return",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/version.c,302,FP,initializer-sized const string array; idiomatic implicit bounds,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/version.c,407,FP,both #if arms return; complete coverage under config,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/version.c,407,FP,present-callback signature fixed by feat.present typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/version.c,420,FP,callback bound to features_table present pointer; typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/version.c,428,FP,callback bound to features_table present pointer; typedef-fixed,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/version.c,450,FP,initializer-sized struct array; idiomatic,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/version.c,556,FP,"CURL_ARRAYSIZE is compile-time constant, not a VLA",curl_full_audit_0.4.35,high
CON03-C,curl,lib/version.c,558,FP,version_info documented immutable between init/cleanup; advisory,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/version.c,596,FP,curl_version_info is public exported libcurl API,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/version.c,687,FP,"p->name is static string literal; feature_names is static global, no stack escape",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h1-proxy.c,73,TP,static helper reads ts->tunnel_state only; const addable,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-h1-proxy.c,78,TP,static helper reads ts only; const addable,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-h1-proxy.c,83,TP,"tunnel_reinit (void)cf; cf unused, const addable (matches brief sample)",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-h1-proxy.c,84,TP,"tunnel_reinit (void)data; data unused, const addable",curl_full_audit_0.4.35,low
EXP33-C,curl,lib/cf-h1-proxy.c,112,FP,"ts = calloc(); assignment then NULL-checked, not deref of uninit",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cf-h1-proxy.c,122,FP,"ts is heap calloc, not stack; *pts = ts is valid",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,175,FP,Curl_safefree of a member nulls it; not UAF of data->state,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,175,FP,"freeing proxyuserpwd member, struct itself not freed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h1-proxy.c,196,TP,tunnel_want_send reads ts only; const addable,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/cf-h1-proxy.c,212,FP,Curl_safefree(data->req.newurl) frees+nulls member; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h1-proxy.c,218,FP,req non-NULL after create_CONNECT success (result checked 215),curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h1-proxy.c,225,FP,req valid after successful create_CONNECT,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h1-proxy.c,237,FP,send_CONNECT writes ts->nsent at 262; cf not modified but data is; ts mutated,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/cf-h1-proxy.c,313,FP,"STRCONST expands to literal+length, no side-effecting calls",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cf-h1-proxy.c,324,FP,"STRCONST macro args are literals, no unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cf-h1-proxy.c,333,FP,STRCONST literal args; no side-effecting function calls,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cf-h1-proxy.c,337,FP,"!strncmp idiom, standard prefix match",curl_full_audit_0.4.35,high
EXP00-C,curl,lib/cf-h1-proxy.c,364,FP,ternary already parenthesized; | precedence correct,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h1-proxy.c,378,FP,single_header only called with non-empty rcvbuf; linep non-NULL,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/cf-h1-proxy.c,534,FP,guarded by hlen && before linep[0] access,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/cf-h1-proxy.c,549,FP,"httpproxycode/100 is integer division, not floating point",curl_full_audit_0.4.35,high
FLP03-C,curl,lib/cf-h1-proxy.c,644,FP,"integer division of int httpproxycode, not float",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,646,FP,"Curl_safefree(data->req.newurl) frees+nulls member, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,648,FP,"reading data->req.httpcode; newurl member freed, httpcode untouched",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,648,FP,data->req struct not freed; only newurl member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,693,FP,Curl_safefree of proxyuserpwd member; not UAF of data->state,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,693,FP,member free nulls pointer; struct intact,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h1-proxy.c,700,FP,"Curl_req_soft_reset takes &data->req; reset not free, no UAF",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h1-proxy.c,776,FP,"exported insert_after API; signature parallels sibling cfilters, (void)data",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http_chunks.c,72,FP,Curl_httpchunk_init writes ch fields; data unused but public API signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,83,FP,reset writes ch; data param matches public API family,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,94,FP,free mutates ch->trailer; public API signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,100,FP,is_done public API; data signature consistency,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,100,FP,ch read here but public API family signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_chunks.c,109,FP,conformant-array style advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_chunks.c,146,FP,hexbuffer[i]=*buf char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_chunks.c,146,FP,"char-to-char assignment, no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_chunks.c,347,FP,"(unsigned int)*buf only for error-log %ux; cosmetic, idiomatic logging",curl_full_audit_0.4.35,med
API05-C,curl,lib/http_chunks.c,382,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,394,FP,cwriter callback signature bound to Curl_cwtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,404,FP,cwriter vtable callback; typedef-fixed signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,411,FP,cwriter vtable callback; typedef-fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_chunks.c,412,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,473,FP,creader callback signature bound to Curl_crtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,474,FP,creader vtable callback; typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,482,FP,creader callback; typedef-fixed signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,483,FP,creader vtable callback; typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,491,FP,creader callback; typedef-fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_chunks.c,544,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_chunks.c,556,FP,"tmp is output buffer filled by Curl_creader_read, not read uninitialized",curl_full_audit_0.4.35,high
INT30-C,curl,lib/http_chunks.c,561,FP,else branch only when blen>=MINLEN(1024); blen-=12 cannot underflow,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http_chunks.c,572,FP,hd written by curl_msnprintf at 576; cannot be const,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_chunks.c,598,FP,conformant-array style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,630,FP,cr_chunked_total_length vtable callback; typedef-fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_chunks.c,631,FP,creader vtable callback; typedef-fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_chunks.c,654,FP,"thin wrapper; data passed to Curl_creader_create, not dereffed here",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_chunks.c,662,FP,reader non-NULL after Curl_creader_create success (if(!result)),curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,53,FP,Init wrapper delegates to backend ctx_init; callers pass valid struct ptrs; no internal deref,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,53,FP,"data passed through to backend init, not dereferenced here",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,53,FP,"cb_setup forwarded to backend init, not dereferenced",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,53,FP,"cb_user_data forwarded, opaque pointer not dereferenced",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,53,FP,"session_reuse_cb (void)cast/forwarded, not dereferenced",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vquic/vquic-tls.c,53,FP,All #ifdef arms return; #else is #error so no path falls through,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,103,FP,"cleanup frees distinct members under guards; no UAF, memset follows",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,104,FP,ssl_ctx freed once after distinct ssl free; not freed pointer,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,104,FP,"ctx->ossl is struct member, not freed; backend free of contained ptr",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,105,FP,SSL_CTX_free of distinct member; no prior free of this pointer,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,107,FP,gnutls_deinit of session under guard; distinct from prior arm,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,107,FP,ctx->gtls is struct member not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,108,FP,session passed to deinit; not a use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,108,FP,"struct member access, no free of gtls",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,109,FP,shared_creds_free takes &member; cleanup function not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,109,FP,"member access, gtls struct not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,111,FP,"wolfSSL_free of ssl under guard; distinct member, no prior free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,111,FP,struct member wssl not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,112,FP,"member access only, no free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,113,FP,wolfSSL_CTX_free of distinct ssl_ctx member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,113,FP,struct member wssl not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vquic/vquic-tls.c,114,FP,"member access, no free of wssl",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vquic/vquic-tls.c,116,FP,ctx is pointer to complete struct; sizeof(*ctx) correct for memset,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,150,FP,cf passed to get_primary_config which is null-tolerant; thin verify wrapper,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic-tls.c,196,FP,info written by callers' contract; getter never called with NULL info,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/vquic/vquic-tls.c,196,FP,All #ifdef arms return bool incl #else return FALSE,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic-tls.c,196,FP,"ctx members read but passed to backend; const not project convention, low value",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/vquic-tls.c,221,FP,cf forwarded to report fns; const not applied project-wide,curl_full_audit_0.4.35,med
PRE00-C,curl,src/tool_parsecfg.c,36,FP,ISSEP evaluates x twice but x is *line side-effect-free deref; idiomatic guard macro,curl_full_audit_0.4.35,med
PRE12-C,curl,src/tool_parsecfg.c,36,FP,"macro arg is plain char deref, no side effect on double eval",curl_full_audit_0.4.35,med
ARR30-C,curl,src/tool_parsecfg.c,48,FP,"while(*line && ...) terminates at NUL; null-terminated string, bounded",curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_parsecfg.c,54,FP,"single-threaded CLI config parse; no concurrent access, not double-fetch",curl_full_audit_0.4.35,high
EXP45-C,curl,src/tool_parsecfg.c,54,FP,"switch(out = *line) intentional assign-and-switch idiom, not comparison bug",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_parsecfg.c,54,FP,out is char assigned from char; no widening sign-extension here,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_parsecfg.c,54,FP,"char-to-char assignment, no integer promotion to larger type",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_parsecfg.c,81,FP,"resolved is optional out-param, guarded by if(resolved) before deref",curl_full_audit_0.4.35,high
MSC04-C,curl,src/tool_parsecfg.c,81,FP,intentional recursion bounded by max_recursive counter; config-file include,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_parsecfg.c,96,FP,curlx_free declared in curlx headers included via tool_setup,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_parsecfg.c,116,FP,file closed at line 260 curlx_fclose(file) when not stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_parsecfg.c,116,FP,FILE* not a raw fd; closed via curlx_fclose; duplicate of above,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_parsecfg.c,134,FP,line walks NUL-terminated dynbuf string; *line guard bounds loop,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_parsecfg.c,154,FP,"*line++='\0' is char store, no widening; no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_parsecfg.c,167,FP,"unslashquote(++line) passes char*, not a char widening conversion",curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_parsecfg.c,185,FP,*line='\0' char store; no integer widening,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_parsecfg.c,193,FP,single-threaded parse; switch(*line) not a TOCTOU double-fetch,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_parsecfg.c,224,FP,"config->next is global operation list freed at program teardown, not leaked",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_parsecfg.c,240,FP,"!strcmp(filename,""-"") idiomatic equality test, intentional",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_parsecfg.c,273,FP,"*resolved = strdup result; pointer store, no char widening",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_parsecfg.c,273,FP,curlx_strdup declared in curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_parsecfg.c,277,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_parsecfg.c,278,FP,file closed at 260 before this return; pathalloc freed at 277; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_parsecfg.c,278,FP,"config->next owned by global list, freed at teardown",curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_parsecfg.c,287,FP,fgets return checked: if(b) before strlen/use,curl_full_audit_0.4.35,high
FIO20-C,curl,src/tool_parsecfg.c,287,FP,truncation handled: loop accumulates until newline/EOF via dyn_addn,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_parsecfg.c,290,FP,strlen(b) takes char*; no char-to-int widening conversion present,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_parsecfg.c,334,FP,line=dyn_ptr(buf) under if(len) guard; non-NULL when len>0,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/timeval.c,36,FP,QueryPerformanceFrequency declared in windows.h on _WIN32 build,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,40,FP,"pnow always passed via curlx_now()/&now stack var; internal helper, never NULL",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/timeval.c,44,FP,QueryPerformanceCounter declared in windows.h,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/curlx/timeval.c,45,FP,"integer division of QuadPart, not floating-point; advisory FP",curl_full_audit_0.4.35,high
INT33-C,curl,lib/curlx/timeval.c,45,FP,"DEBUGASSERT(Curl_freq.QuadPart) precedes; freq set by QueryPerformanceFrequency, nonzero",curl_full_audit_0.4.35,med
FLP03-C,curl,lib/curlx/timeval.c,46,FP,"integer modulo/division, not FP operation",curl_full_audit_0.4.35,high
INT33-C,curl,lib/curlx/timeval.c,46,FP,QuadPart guarded by DEBUGASSERT and QPF success; nonzero on real hw,curl_full_audit_0.4.35,med
INT33-C,curl,lib/curlx/timeval.c,46,FP,"same divisor QuadPart, nonzero; duplicate site",curl_full_audit_0.4.35,med
PRE32-C,curl,lib/curlx/timeval.c,78,FP,"#if guards __APPLE__ block, not inside DEBUGASSERT macro arg here; misattributed",curl_full_audit_0.4.35,med
PRE32-C,curl,lib/curlx/timeval.c,90,FP,"#if for Apple availability inside if() condition, not a function-macro call",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curlx/timeval.c,112,FP,"time(NULL) for monotonic-clock fallback; (time_t)-1 acceptable, not security-relevant",curl_full_audit_0.4.35,med
API00-C,curl,lib/curlx/timeval.c,122,FP,"internal helper, pnow always &stack from curlx_now",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curlx/timeval.c,133,FP,static timebase zero-initialized by C; denom==0 check is the init guard,curl_full_audit_0.4.35,high
INT33-C,curl,lib/curlx/timeval.c,138,FP,timebase.denom set nonzero by mach_timebase_info before division,curl_full_audit_0.4.35,high
INT10-C,curl,lib/curlx/timeval.c,142,FP,"usecs is uint64_t; modulo on unsigned, no negative-operand issue",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,147,FP,"internal helper, pnow from &stack var",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,162,FP,"internal helper, pnow always valid &stack",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curlx/timeval.c,167,FP,"time(NULL) last-resort fallback; -1 tolerable, no exploit path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curlx/timeval.c,186,FP,"newer always &stack from wrapper; const ptr params, internal use",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,186,FP,older always valid &stack; never NULL caller,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/curlx/timeval.c,215,FP,"integer division by constant 1000, not floating point",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,222,FP,"newer valid &stack from wrapper, internal",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/timeval.c,222,FP,"older valid &stack, never NULL",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curlx/timeval.c,264,FP,gmtime return checked: if(tm) before *store=*tm,curl_full_audit_0.4.35,high
CON33-C,curl,lib/curlx/timeval.c,264,FP,"gmtime only in #else fallback when no gmtime_r/_s; checksrc-acknowledged, portability",curl_full_audit_0.4.35,high
CON34-C,curl,lib/curlx/timeval.c,264,FP,duplicate of CON33 at same gmtime fallback site,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/curlx/timeval.c,266,FP,struct tm has no flexible array member; *store=*tm is plain struct copy,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-spbset.c,38,FP,bset is pointer to complete struct; sizeof(*bset) correct for memset,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-spbset.c,50,FP,"count reads chunks; could be const but not project convention, low-value",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/uint-spbset.c,64,FP,"UNITTEST macro exports for tests; cannot be static, intentional",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/uint-spbset.c,64,FP,UNITTEST visibility needed for unit tests; static would break test linkage,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-spbset.c,70,FP,curlx_free declared via curl_setup/curlx headers,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-spbset.c,72,FP,"sizeof(bset->head) is sizeof a struct member, valid; bset is real ptr",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-spbset.c,100,FP,curlx_calloc declared in curlx headers,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/uint-spbset.c,106,FP,"chunk is heap calloc'd, *panchor stores its address; not stack-local escape",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-spbset.c,110,FP,sizeof(bset->head) member size correct; bset valid pointer to struct,curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-spbset.c,117,FP,"i is uint32_t bitset index; no overflow, chunk arithmetic bounded by mask",curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,128,FP,i_chunk/64 and %64 standard bit-slot indexing; readable idiom,curl_full_audit_0.4.35,high
INT10-C,curl,lib/uint-spbset.c,129,FP,"i_chunk is uint32_t; %64 on unsigned, no negative-operand issue",curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-spbset.c,133,FP,"uint32_t index, no overflow path",curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,142,FP,"standard slot index math, idiomatic",curl_full_audit_0.4.35,high
INT10-C,curl,lib/uint-spbset.c,143,FP,"unsigned i_chunk %64, no signedness issue",curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-spbset.c,147,FP,"uint32_t index, no overflow",curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,155,FP,bit-slot indexing idiom,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,156,FP,bit-slot indexing idiom,curl_full_audit_0.4.35,high
INT10-C,curl,lib/uint-spbset.c,158,FP,"unsigned modulo, no negative operand",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-spbset.c,163,FP,"first reads bset; const possible but not convention, low-value",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-spbset.c,180,FP,"chunk_first reads chunk; const possible, low-value style",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-spbset.c,194,FP,"chunk_next reads chunk; const possible, low-value style",curl_full_audit_0.4.35,med
INT14-C,curl,lib/uint-spbset.c,200,FP,(last-offset)/64 slot index idiom,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,200,FP,"last used in arithmetic/shift, idiomatic bit math",curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-spbset.c,202,FP,"i slot index used in shift/arith, idiomatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-spbset.c,221,FP,"++last on uint32_t; wrap harmless, bounded bitset traversal",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-spbset.c,221,FP,"next reads bset; const possible, not convention",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/asyn-thrdd.c,107,FP,"Exported impl with (void)data; uniform resolver-impl signature, not const-correctable convention",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/asyn-thrdd.c,116,TP,"static addr_ctx_unlink only reads data; const-able, but curl does not follow convention",curl_full_audit_0.4.35,low
MEM30-C,curl,lib/asyn-thrdd.c,136,FP,addr_ctx->res read before addr_ctx freed at 139; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,138,FP,sock_pair used before addr_ctx freed at 139; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/asyn-thrdd.c,160,FP,hints non-NULL by caller contract in this branch; DEBUGASSERT guards,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/asyn-thrdd.c,186,FP,"err_exit is a goto label target, not unreachable code",curl_full_audit_0.4.35,high
API05-C,curl,lib/asyn-thrdd.c,331,FP,ares callback signature fixed by external typedef,curl_full_audit_0.4.35,high
CON34-C,curl,lib/asyn-thrdd.c,364,FP,DEBUGBUILD-only env gate during resolver init; not a real threading hazard,curl_full_audit_0.4.35,low
ERR33-C,curl,lib/asyn-thrdd.c,365,FP,getenv guarded non-NULL by check at 364 before re-fetch,curl_full_audit_0.4.35,high
CON34-C,curl,lib/asyn-thrdd.c,365,FP,DEBUGBUILD-only getenv during init; duplicate of 364,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/asyn-thrdd.c,419,FP,"free of async.hostname then reassign at 420; member free-then-strdup, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,419,FP,data->state.async never freed; only member hostname freed/reassigned,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,420,FP,hostname reassigned after free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,420,FP,struct async not freed; member-level free propagated to struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,421,FP,reads freshly-strdup'd hostname; not freed memory,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,421,FP,async struct not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-thrdd.c,421,FP,state not freed,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/asyn-thrdd.c,436,FP,"Curl_thread_create returns thread handle, not heap; freed via thread_join/destroy",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/asyn-thrdd.c,444,FP,"thread_hnd is a thread handle, not malloc'd memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/asyn-thrdd.c,452,FP,line is return TRUE; thread_hnd not heap memory,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/asyn-thrdd.c,454,FP,"err_exit is a goto label, not unreachable",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/asyn-thrdd.c,458,FP,"thread handle, not heap; async_thrdd_destroy already called",curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-thrdd.c,526,FP,thin wrapper; internal data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-thrdd.c,531,FP,internal entry; data always valid from caller,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-thrdd.c,554,FP,internal; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-thrdd.c,664,FP,internal; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,65,FP,internal SPN builder; service passed as constant by callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,65,FP,host optional and NULL-checked in body via host && realm branches,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/vauth/vauth.c,65,FP,two defs guarded by mutually-exclusive USE_WINDOWS_SSPI; only one compiles,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/vauth.c,138,FP,exported read-only fn; const-able but curl does not follow convention,curl_full_audit_0.4.35,med
API05-C,curl,lib/vauth/vauth.c,150,FP,hash dtor signature fixed by typedef; curl never uses array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/vauth.c,150,FP,ntlm_conn_dtor key param fixed by hash dtor typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,150,FP,dtor signature fixed; array syntax not used,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,160,FP,internal getter; conn always valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vauth/vauth.c,169,FP,"ntlm is a pointer var (heap from meta_get/calloc); returns pointer, not local address",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,172,FP,internal remover; conn valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,180,FP,dtor signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/vauth.c,180,FP,krb5 dtor key param fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,180,FP,dtor signature fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,190,FP,internal getter; conn valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vauth/vauth.c,199,FP,krb5 is heap pointer var; returns pointer value not local address,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,204,FP,gsasl dtor signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/vauth.c,204,FP,dtor key param fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,204,FP,dtor signature fixed,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vauth/vauth.c,211,FP,gsasl freed once after cleanup; no double free,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,214,FP,internal getter; conn valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vauth/vauth.c,223,FP,gsasl is heap pointer var; returns pointer value,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,228,FP,nego dtor signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/vauth.c,228,FP,dtor key param fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.c,228,FP,dtor signature fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/vauth.c,238,FP,internal getter; conn valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vauth/vauth.c,247,FP,nego is heap pointer var; returns pointer value,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,57,FP,"end and src both derive from same bufv buffer (buf, buf+buflen)",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vtls/vtls_spack.c,59,FP,"*val=**src is scalar uint8_t assignment, not flexible-array struct copy",curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,67,FP,"val is uint16_t (unsigned); shift is correct serialization, not signed arithmetic",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,75,FP,end-src same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,75,FP,"src is uint8_t* pointer arithmetic; shift is on byte values, idiomatic decode",curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,85,FP,val is uint32_t unsigned; serialization shift,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,95,FP,end-src same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,95,FP,unsigned byte decode; idiomatic,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,106,FP,val is uint64_t unsigned; serialization shift,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,120,FP,end-src same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/vtls_spack.c,120,FP,unsigned byte decode,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_spack.c,132,FP,strlen on const char*; no char-to-int sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_spack.c,149,FP,"*val is char* (val is char**); pointer assignment, not char sign extension",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,153,FP,end-src same buffer,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/vtls/vtls_spack.c,155,FP,const cast is on memdup0 source arg; *val is non-const char*,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_spack.c,155,FP,*val is char* assignment of memdup0 result; not char sign extension,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.c,160,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.c,173,FP,array-param syntax not used by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.c,174,FP,array-param syntax not used,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.c,174,FP,array-param syntax not used,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/vtls_spack.c,183,FP,end-src same buffer,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/vtls/vtls_spack.c,185,FP,const cast on memdup0 source; *val non-const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_spack.c,192,FP,"Curl_ssl_session_pack reads s only; const-able but exported, convention not followed",curl_full_audit_0.4.35,low
API00-C,curl,lib/vtls/vtls_spack.c,239,FP,buflen bounds-checked via end-src guards in every decoder; no overflow path,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_spack.c,240,FP,array-param syntax not used,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_spack.c,325,FP,"s is heap pointer from calloc; *ps=s stores heap, not local address",curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_cb_prg.c,41,FP,sinus[] bounds inferred from initializer; idiomatic const table,curl_full_audit_0.4.35,high
DCL22-C,curl,src/tool_cb_prg.c,69,FP,local buf needs no volatile; no setjmp/signal aliasing,curl_full_audit_0.4.35,high
ENV01-C,curl,src/tool_cb_prg.c,69,FP,no getenv involved; fixed display buffer,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_cb_prg.c,69,FP,MAX_BARLENGTH is a compile-time constant; not a VLA,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,81,FP,check=width-2>=18 (width>=MIN_BARLENGTH 20); divisor never zero,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,81,FP,check>=18 by update_width invariant; never zero,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,83,FP,check>=18; divisor nonzero,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_cb_prg.c,83,FP,"tick kept in [0,200) non-negative; modulo well-defined",curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,83,FP,check>=18 nonzero,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,85,FP,check>=18 nonzero,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_cb_prg.c,85,FP,tick non-negative; modulo defined,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,85,FP,check>=18 nonzero,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,87,FP,check>=18 nonzero,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_cb_prg.c,87,FP,tick non-negative; modulo defined,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_cb_prg.c,87,FP,check>=18 nonzero,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_prg.c,121,FP,CURLOPT_XFERINFOFUNCTION callback signature fixed; clientp->bar is mutated,curl_full_audit_0.4.35,high
ARR39-C,curl,src/tool_cb_prg.c,143,FP,"dltotal+ultotal+initial_size are curl_off_t integers, not pointer arithmetic",curl_full_audit_0.4.35,high
ARR39-C,curl,src/tool_cb_prg.c,156,FP,dlnow+ulnow+initial_size are integers; bar->initial_size is a member value,curl_full_audit_0.4.35,high
ENV01-C,curl,src/tool_cb_prg.c,184,FP,no getenv; fixed line buffer,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_cb_prg.c,184,FP,MAX_BARLENGTH constant; not a VLA,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_cb_prg.c,194,FP,integer-to-double of curl_off_t; no NaN/overflow possible,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_cb_prg.c,194,FP,integer-to-double conversion; bounded,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_cb_prg.c,197,FP,barwidth*frac to double; no range hazard,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_cb_prg.c,212,FP,"fflush on stderr progress display; return conventionally ignored, no action",curl_full_audit_0.4.35,low
API00-C,curl,src/tool_cb_prg.c,224,FP,init helper; config always valid from caller,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_prg.c,224,FP,reads config only; const-able but curl convention not followed,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,71,TP,"static cf_hc_baller_is_active only reads b; const-able, not a vtable signature",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,76,TP,static cf_hc_baller_has_started only reads b->cf; const-able,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,90,TP,static cf_hc_baller_data_pending does not modify b; const-able,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,96,TP,static cf_hc_baller_needs_flush does not modify b; const-able,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,102,TP,static cf_hc_baller_cntrl does not modify b; const-able,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-https-connect.c,182,FP,"cf_hc_reset reads cf->ctx then mutates *ctx via pointer; const cf debatable, leave FP",curl_full_audit_0.4.35,low
EXP34-C,curl,lib/cf-https-connect.c,184,FP,cf always valid from callers; ctx NULL-checked before use,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/cf-https-connect.c,193,FP,"happy_eyeballs_timeout/4 is integer timediff_t division, not floating-point",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cf-https-connect.c,233,FP,!strcmp idiom for ALPN equality; idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-https-connect.c,310,FP,"i is the for-loop induction var, assigned in init clause",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-https-connect.c,445,FP,cf_hc_data_pending is a cftype vtable impl; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-https-connect.c,460,TP,"static cf_get_max_baller_time only reads cf->ctx; const-able, not a vtable member",curl_full_audit_0.4.35,low
EXP33-C,curl,lib/cf-https-connect.c,500,FP,i is for-loop induction var,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cf-https-connect.c,516,FP,all paths reach out: return result;,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-https-connect.c,516,FP,cf_hc_cntrl is a cftype vtable impl; signature fixed,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-https-connect.c,585,FP,ctx assigned by calloc on this line then NULL-checked; not uninitialized,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-https-connect.c,611,FP,cf non-NULL after Curl_cf_create success (result checked at 608),curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cf-https-connect.c,619,FP,all paths reach out: return result;,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-https-connect.c,632,FP,cf set by cf_hc_create out-param; on failure goto out skips use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-https-connect.c,638,TP,static cf_https_alpns_contain only reads list; const-able,curl_full_audit_0.4.35,low
API00-C,curl,lib/cf-https-connect.c,648,FP,exported setup; data always valid from internal callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-https-connect.c,648,FP,conn always valid from internal callers,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cf-https-connect.c,648,FP,all paths reach out: return result;,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cf-https-connect.c,669,FP,"sockindex is FIRST/SECONDARYSOCKET (0/1), bounded by connection design",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/cf-https-connect.c,669,FP,sockindex bounded to 0/1 by socket-index contract,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/uint-bset.c,34,FP,"sizeof(*bset) on struct pointer is intentional struct size for memset, not array decay",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-bset.c,47,FP,curlx_calloc declared via curl_setup.h memory macros; analyzer lacks preprocessor,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/uint-bset.c,52,FP,memcpy size is CURLMIN of both slot counts; bounded by dest alloc,curl_full_audit_0.4.35,high
INT32-C,curl,lib/uint-bset.c,52,FP,nslots bounded UINT32_MAX/64; *8 cannot overflow size_t on real targets,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-bset.c,54,FP,curlx_free is a macro/decl from curl_setup.h not visible to analyzer,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-bset.c,66,FP,curlx_free macro from headers,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-bset.c,67,FP,"sizeof(*bset) = struct size for memset, intentional",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-bset.c,71,FP,bset read via ->nslots; const possible but curl convention does not const these,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-bset.c,77,FP,read-only accessor; curl does not const-qualify bset throughout API family,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-bset.c,88,FP,read-only but part of non-const API family,curl_full_audit_0.4.35,med
ARR38-C,curl,lib/uint-bset.c,101,FP,memset bounded by nslots which sized the alloc; in-bounds,curl_full_audit_0.4.35,high
INT32-C,curl,lib/uint-bset.c,101,FP,nslots*8 bounded far below SIZE_MAX,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,108,FP,readability advisory on bitset slot math; idiomatic,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,119,FP,readability advisory on bit indexing,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-bset.c,124,FP,read-only but non-const API family convention,curl_full_audit_0.4.35,med
INT14-C,curl,lib/uint-bset.c,126,FP,bit indexing advisory,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,146,FP,bit/shift math advisory; misattributed to bset,curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-bset.c,146,FP,"last is uint32 incremented; bounded slot arithmetic, no overflow risk",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-bset.c,146,FP,read-only but non-const API family,curl_full_audit_0.4.35,med
INT14-C,curl,lib/uint-bset.c,153,FP,slot index math advisory,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,156,FP,shift/index advisory,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,156,FP,bset misattributed in bit-shift expression,curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-bset.c,175,FP,popcount is pure bit algorithm; no overflow-relevant arithmetic on x,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,185,FP,Hamming-weight bit algorithm; bitwise+arith inherent,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,190,FP,popcount multiplier constant; inherent,curl_full_audit_0.4.35,high
INT14-C,curl,lib/uint-bset.c,209,FP,ctz divide-and-conquer; bit algorithm idiom,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_findfile.c,32,FP,"__NO_NET_API is AmigaOS platform shim, not a curl-defined reserved name",curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_findfile.c,47,FP,NULL-terminated finder table; implicit size from initializer is idiomatic,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_findfile.c,74,FP,fd closed via curlx_close(fd) at line 77 on success path,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_findfile.c,74,FP,no signed char conversion at open(); misparse of fd assignment,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_findfile.c,76,FP,curlx_strdup macro from tool_setup.h headers,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_findfile.c,98,FP,dotscore used as small loop bound flag; no overflow arithmetic,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_findfile.c,110,FP,path assigned at 133 before use at 135; declaration-only line,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,113,FP,curl_free does not modify env; home is curl_getenv heap copy not getenv static,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_findfile.c,117,FP,"c is reassigned conditionally; const inappropriate, it is a fresh alloc target",curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_findfile.c,117,FP,"home reassigned (=c) after free at 118; no UAF, freed-then-reassigned",curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,118,FP,"home is curl_getenv heap copy, curl_free is correct ownership free",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,118,FP,single free then reassign home=c; not double-free across loop iters,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_findfile.c,118,FP,free then home=c reassign; analyzer conflates per-branch frees,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,127,FP,curl_free of heap home copy; correct,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,127,FP,distinct branch (withoutdot) with continue; fresh home each iteration,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_findfile.c,127,FP,branch-exclusive free followed by continue; no double-free,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,133,FP,checkhome takes const char*; cannot modify home,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,133,FP,home valid here; freed only at 134 after checkhome returns,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,134,FP,freeing heap home after use; correct ownership,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,134,FP,single free per loop iteration; home re-fetched next iter,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_findfile.c,134,FP,loop-iteration free conflated as double-free,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_findfile.c,144,FP,"home here is pw->pw_dir (separate scope), never freed; not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,144,FP,distinct getpwuid block; home=pw->pw_dir not the freed loop var,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_findfile.c,145,FP,checkhome takes const; pw->pw_dir not modified,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_findfile.c,145,FP,"home is pw->pw_dir, never freed; analyzer cross-scope confusion",curl_full_audit_0.4.35,high
CON03-C,curl,lib/asyn-ares.c,101,FP,ares_ver set once in global_init before threads; effectively immutable after init,curl_full_audit_0.4.35,med
API00-C,curl,lib/asyn-ares.c,213,FP,internal API; data always valid per caller contract (DEBUGASSERT pattern),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/asyn-ares.c,227,FP,async_ares_cleanup writes ares->temp_ai=NULL via data; data mutated,curl_full_audit_0.4.35,med
API00-C,curl,lib/asyn-ares.c,239,FP,internal shutdown wrapper; data guaranteed valid by callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-ares.c,249,FP,internal destroy; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-ares.c,264,FP,internal pollset; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-ares.c,382,FP,internal await; data always valid,curl_full_audit_0.4.35,high
INT10-C,curl,lib/asyn-ares.c,414,FP,"itimeout_ms guaranteed non-negative (clamped to INT_MAX, from positive timeout)",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/asyn-ares.c,486,FP,"ai is heap addrinfo param being linked into list, not address of local",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/asyn-ares.c,501,FP,"void* callback user_data cast to Curl_easy*; original was Curl_easy*, aligned",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/asyn-ares.c,592,FP,"node traversed read-only; could const but c-ares-shaped helper, low value",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/asyn-ares.c,602,FP,ca assigned at 622 before any use in same iteration,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/asyn-ares.c,608,FP,not a stored function pointer; EncodePointer is irrelevant here,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/asyn-ares.c,609,FP,ss_size set in all family branches (else continues); always init before use,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/asyn-ares.c,640,FP,(char*)ca + sizeof is correct byte arithmetic for flexible trailing buffer,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/asyn-ares.c,665,FP,"void* user_data was Curl_easy*; round-trip cast, properly aligned",curl_full_audit_0.4.35,high
API05-C,curl,lib/asyn-ares.c,684,FP,conformant-array advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
CON34-C,curl,lib/asyn-ares.c,836,FP,DEBUGBUILD-only getenv used immediately read-only; advisory,curl_full_audit_0.4.35,med
ENV34-C,curl,lib/asyn-ares.c,837,FP,servers is const char* consumed immediately by ares_set_servers; not stored long-term,curl_full_audit_0.4.35,med
CON34-C,curl,lib/asyn-ares.c,837,FP,duplicate of 836 getenv site; DEBUGBUILD-only advisory,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/asyn-ares.c,882,FP,all paths return (ifdef/else both return); analyzer cannot see preprocessor branches,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/asyn-ares.c,882,FP,data->set.str read and ares->channel mutated via data; not const-able,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/asyn-ares.c,903,FP,all #ifdef branches return a value,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/asyn-ares.c,932,FP,all #ifdef branches return a value,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cshutdn.c,44,FP,conn guaranteed non-NULL by callers (attach + DEBUGASSERT contract),curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cshutdn.c,85,FP,conn non-NULL; established by cshutdn_run_once caller contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,110,FP,DEBUGASSERT(!data->conn) then Curl_attach_connection; data valid by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,121,FP,"DEBUGASSERT(conn)/(data) at top; internal terminate, caller contract",curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,121,FP,conn asserted non-NULL at 129; internal API,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cshutdn.c,131,FP,conn asserted non-NULL at line 129 before deref,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cshutdn.c,154,FP,"Curl_conn_close on FIRSTSOCKET vs SECONDARYSOCKET; admin is handle, not freed",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cshutdn.c,159,FP,"Curl_conn_free frees conn (once); admin is the easy handle, not double-freed",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cshutdn.c,177,FP,!strcmp idiom in destination match; idiomatic,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cshutdn.c,232,FP,e is a list iterator reassigned in loop (enext); const inappropriate,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/cshutdn.c,248,FP,done set by Curl_cshutdn_run_once->cshutdn_run_once on all paths before read,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cshutdn.c,337,FP,return checked: if(p) before use at 338,curl_full_audit_0.4.35,high
CON34-C,curl,lib/cshutdn.c,337,FP,"DEBUGBUILD-only getenv, value consumed immediately; advisory",curl_full_audit_0.4.35,med
ENV30-C,curl,lib/cshutdn.c,340,FP,curlx_str_number takes const char**; does not modify env string content,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cshutdn.c,353,FP,data->multi mutated (connchanged); part of non-const API,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cshutdn.c,362,FP,reads data->multi->cshutdn list; non-const API convention,curl_full_audit_0.4.35,med
DCL00-C,curl,lib/cshutdn.c,368,FP,e is loop iterator reassigned via Curl_node_next; const inappropriate,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/cshutdn.c,371,FP,!strcmp destination match idiom,curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,395,FP,"internal add; conn from caller always valid, llist append non-NULL",curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,395,FP,conns_in_pool size_t compared to max_total; no unchecked overflow arithmetic,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cshutdn.c,414,FP,"conn passed by caller, non-NULL; logging member access",curl_full_audit_0.4.35,high
API00-C,curl,lib/cshutdn.c,426,FP,thin wrapper forwarding to cshutdn_perform; no deref of data itself,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cshutdn.c,503,FP,function returns result on all paths (goto out -> return result),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cshutdn.c,530,FP,in-loop cleanup gotos out (past 530); final 530 cleanup not double-called,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/md4.c,115,FP,MD4_Update ctx written via CryptHashData; signature fixed by MD4 API family,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/md4.c,120,FP,"MD4_Final ctx hash destroyed/released; mutated, fixed API signature",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/md4.c,198,FP,MD4_F params are simple side-effect-free lvalues; standard public-domain MD4,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md4.c,198,FP,multiple eval of z harmless (no side effects in MD4 word args),curl_full_audit_0.4.35,med
PRE00-C,curl,lib/md4.c,199,FP,MD4_G simple lvalue args; canonical crypto macro,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md4.c,199,FP,multiple eval harmless for side-effect-free args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/md4.c,205,FP,MD4_STEP canonical MD4 transform macro; args are plain registers,curl_full_audit_0.4.35,med
PRE01-C,curl,lib/md4.c,205,FP,f is a function-name macro arg; parenthesizing the callee is meaningless,curl_full_audit_0.4.35,low
PRE02-C,curl,lib/md4.c,205,FP,statement macro cannot be parenthesized as expression; advisory misfit,curl_full_audit_0.4.35,med
PRE10-C,curl,lib/md4.c,205,FP,"used only in flat sequence at call sites, never in braceless if; safe as-is",curl_full_audit_0.4.35,med
PRE11-C,curl,lib/md4.c,205,FP,trailing semicolon but call sites omit semicolon; used correctly throughout,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md4.c,205,FP,"a multiple-eval harmless (register var, no side effects)",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/md4.c,221,FP,"MD4_SET reads input bytes; canonical, n is integer literal at call sites",curl_full_audit_0.4.35,med
PRE01-C,curl,lib/md4.c,221,FP,n always integer literal (0..15) at all call sites; no precedence hazard,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md4.c,221,FP,n is literal; multiple eval harmless,curl_full_audit_0.4.35,med
PRE01-C,curl,lib/md4.c,226,FP,MD4_GET n is literal index at call sites; no precedence issue,curl_full_audit_0.4.35,med
EXP45-C,curl,lib/md4.c,314,FP,"do-while(size -= 64) is intentional compound-assign loop, not =/== confusion",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/md4.c,321,FP,"returns ptr pointing into caller-owned input buffer, not a local's address",curl_full_audit_0.4.35,high
INT14-C,curl,lib/md4.c,343,FP,len bit-masking in hash length counter; idiomatic,curl_full_audit_0.4.35,high
INT14-C,curl,lib/md4.c,343,FP,saved_lo mask/add in MD4 counter; idiomatic,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/md4.c,346,FP,">>29 is structural shift of 32-bit counter, not a magic constant assumption",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/md4.c,420,FP,sizeof(*ctx) is struct MD4_CTX size for memset; ctx is real struct pointer not decayed array,curl_full_audit_0.4.35,high
API05-C,curl,lib/md4.c,425,FP,conformant-array advisory; curl uses pointer params by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/md4.c,426,FP,conformant-array advisory on const input/len signature,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/request.c,40,FP,sizeof(*req) on struct pointer is intended struct size for memset; not array decay,curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,43,FP,internal reset fn; callers always pass valid req; idiomatic curl no-null-check,curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,89,FP,"internal fn, req always valid from caller",curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,89,FP,"internal fn, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,98,FP,"internal fn, data always valid",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/request.c,98,FP,reported cycle is conditional/bounded by handle state; not infinite recursion,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/request.c,98,FP,req param exists only for API symmetry; (void)req; const not project convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,111,FP,"internal reset fn, data always valid",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/request.c,117,FP,"sendbuf_init is a bool flag, not freed pointer; no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/request.c,118,FP,"Curl_bufq_reset resets, does not free struct sendbuf; not freed pointer",curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,166,FP,"internal free fn, data always valid",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/request.c,169,FP,sendbuf_init bool flag read before free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/request.c,170,FP,"Curl_bufq_free frees internals of sendbuf, &sendbuf itself not freed; not UAF",curl_full_audit_0.4.35,high
API05-C,curl,lib/request.c,175,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
INT00-C,curl,lib/request.c,187,FP,DEBUGASSERT(hds_len<=blen) guarantees non-negative; debug-only block,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/request.c,189,FP,return of getenv assigned to p then checked if(p) on next line,curl_full_audit_0.4.35,high
CON34-C,curl,lib/request.c,189,FP,debug-only env read at startup; not a threaded hot path,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/request.c,192,FP,"curlx_str_number takes const char**, parses, does not modify env string",curl_full_audit_0.4.35,high
INT00-C,curl,lib/request.c,201,FP,hds_len<=blen invariant (DEBUGASSERT line 182) holds; no underflow,curl_full_audit_0.4.35,high
API05-C,curl,lib/request.c,338,FP,reader callback signature; array-param syntax not used,curl_full_audit_0.4.35,high
API05-C,curl,lib/request.c,339,FP,callback signature; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,lib/request.c,353,FP,internal helper signature; advisory style,curl_full_audit_0.4.35,high
INT30-C,curl,lib/request.c,393,FP,nwritten<=blen from xfer_send (sent at most blen); subtraction cannot wrap,curl_full_audit_0.4.35,high
API00-C,curl,lib/request.c,479,FP,"internal fn, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_sspi.c,81,FP,userp checked if(userp && *userp) before use; SSPI auth callee,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_sspi.c,81,FP,krb5 always valid from caller; internal auth fn,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,147,FP,output_token/credentials are krb5 struct members freed by Curl_auth_cleanup_gssapi; not leaks,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vauth/krb5_sspi.c,150,FP,AcquireCredentialsHandle distinct in/out params; not aliased restrict,curl_full_audit_0.4.35,med
MEM12-C,curl,lib/vauth/krb5_sspi.c,156,FP,struct-member allocs freed by cleanup fn; not stack leaks,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,161,FP,struct-member allocs freed by cleanup fn,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,167,FP,struct-member allocs freed by cleanup fn,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,199,FP,struct-member allocs freed by cleanup fn,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,202,FP,struct-member allocs freed by cleanup fn,curl_full_audit_0.4.35,high
EXP42-C,curl,lib/vauth/krb5_sspi.c,204,FP,CtxtHandle has no padding (two pointer-sized fields); SSPI idiom memcmp ok,curl_full_audit_0.4.35,med
STR30-C,curl,lib/vauth/krb5_sspi.c,214,FP,"Curl_bufref_set stores ptr+len, does not modify literal; mutual_auth empty marker",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,218,FP,struct-member allocs freed by cleanup fn,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_sspi.c,237,FP,krb5 always valid from caller; internal fn,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/krb5_sspi.c,240,FP,"krb5 is in/out, modified via context/QueryContextAttributes; cannot be const",curl_full_audit_0.4.35,high
DCL22-C,curl,lib/vauth/krb5_sspi.c,244,FP,offset is plain local accumulator; volatile not warranted,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/krb5_sspi.c,298,FP,input_buf[1] filled by DecryptMessage SSPI call before read; not uninitialized,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vauth/krb5_sspi.c,305,FP,indata=input_buf[1].pvBuffer non-NULL after cbBuffer==4 check at line 298,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/krb5_sspi.c,387,FP,wrap_buf filled by EncryptMessage before cbBuffer read; not uninitialized,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vauth/krb5_sspi.c,398,FP,appdata+offset is plain unscaled byte ptr arith on unsigned char*; no sizeof,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vauth/krb5_sspi.c,400,FP,unscaled byte ptr arith on unsigned char*; no double scaling,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,409,FP,trailer/message/padding freed at out: label; appdata returned via bufref ownership,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/krb5_sspi.c,413,FP,all local buffers freed at out: before this return; appdata ownership transferred,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_sspi.c,426,FP,"cleanup fn, krb5 always valid; members null-checked individually",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/krb5_sspi.c,438,FP,FreeCredentialsHandle is SSPI release not free; curlx_free once then NULL; no double-free,curl_full_audit_0.4.35,high
CON03-C,curl,lib/amigaos.c,66,FP,AmigaOS single-process init globals; set once at startup; platform shim,curl_full_audit_0.4.35,med
DCL37-C,curl,lib/amigaos.c,66,FP,__CurlISocket is file-static AmigaOS naming; leading underscore not externally reserved-collision here,curl_full_audit_0.4.35,med
DCL37-C,curl,lib/amigaos.c,66,TP,file-scope identifier starting with double underscore is technically reserved per DCL37,curl_full_audit_0.4.35,low
CON03-C,curl,lib/amigaos.c,67,FP,SocketFeatures set once at init; AmigaOS platform shim,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/amigaos.c,82,FP,"SBTM_* are macros building tag args, not unsequenced side-effecting calls",curl_full_audit_0.4.35,med
DCL30-C,curl,lib/amigaos.c,90,FP,"ISocket holds interface from GetInterface (heap/system), not stack-local; valid lifetime",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/amigaos.c,92,FP,atexit return unchecked but registering cleanup at init; low-impact idiom,curl_full_audit_0.4.35,low
ARR30-C,curl,lib/amigaos.c,121,FP,line 121 is fn signature for Curl_ipv4_resolve_r; no malloc/arith there; misattributed,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/amigaos.c,134,FP,(char*)buf+sizeof(struct hostent) is intended byte offset past header; correct gethostbyname_r usage,curl_full_audit_0.4.35,high
CON34-C,curl,lib/amigaos.c,152,TP,gethostbyname uses static storage; non-threadsafe (curl reopens lib but result static),curl_full_audit_0.4.35,med
EXP33-C,curl,lib/amigaos.c,153,FP,h assigned by gethostbyname() return before if(h); not uninitialized,curl_full_audit_0.4.35,high
CON34-C,curl,lib/amigaos.c,162,TP,non-threaded path gethostbyname static storage; flagged correctly though guarded by build mode,curl_full_audit_0.4.35,med
API00-C,curl,lib/amigaos.c,175,FP,"thin WaitSelect wrapper; fd_set ptrs may be NULL legitimately, passed through",curl_full_audit_0.4.35,high
API00-C,curl,lib/amigaos.c,175,FP,writefds passed through to WaitSelect; NULL valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/amigaos.c,175,FP,errorfds passed through; NULL valid for select,curl_full_audit_0.4.35,high
API00-C,curl,lib/amigaos.c,175,FP,timeout passed through; NULL valid for select,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/amigaos.c,178,FP,r is reassigned conceptually as return; const would block return r idiom; minor,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/amigaos.c,181,FP,raise(SIGINT) for Ctrl-C delivery; return value irrelevant here,curl_full_audit_0.4.35,med
DCL37-C,curl,lib/amigaos.c,194,FP,"__request is external libnix symbol declaration, name fixed by library ABI",curl_full_audit_0.4.35,low
DCL37-C,curl,lib/amigaos.c,194,FP,__request name dictated by libnix ABI; cannot rename,curl_full_audit_0.4.35,low
PRE01-C,curl,lib/amigaos.c,197,FP,"msg used as string-literal concat (msg ""\n\a""); parenthesizing would break; idiom",curl_full_audit_0.4.35,med
EXP30-C,curl,lib/amigaos.c,218,FP,"SBTM_* tag-building macros, not unsequenced side-effecting function calls",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/amigaos.c,225,FP,atexit return unchecked at init; low-impact idiom,curl_full_audit_0.4.35,low
API05-C,curl,lib/sendf.h,181,FP,prototype; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.h,203,FP,prototype; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,260,FP,reader is vtable do_read signature; modified by impls; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,262,FP,reader vtable callback signature; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/sendf.h,263,FP,"def_read takes (buf,blen) capacity pair; size already present as blen",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,264,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.h,265,FP,prototype; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,266,FP,"nread is out-param (written), not const",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,268,FP,reader vtable signature; modified by impl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,270,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,272,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,275,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,278,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,280,FP,reader vtable signature; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/sendf.h,286,FP,Curl_creader_read has blen capacity param; size present,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,287,FP,reader modified through read chain; not const,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.h,288,FP,prototype; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,288,FP,nread out-param; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,292,FP,reader vtable signature; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,299,FP,preader is out double-pointer (creates reader); cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,308,FP,reader chain mutated; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.h,315,FP,reader vtable signature; not const,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.h,421,FP,prototype; advisory style,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_wrt.c,38,FP,config validated via DEBUGASSERT(config); internal CLI fn,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_cb_wrt.c,51,FP,"file stored in outs->stream, closed later by tool cleanup; ownership transfer",curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_cb_wrt.c,72,FP,early FALSE return on dyn_addf fail; fd==-1 nothing open; fbuffer leak minor (see FN),curl_full_audit_0.4.35,med
FIO42-C,curl,src/tool_cb_wrt.c,75,FP,fd fdopen'd into file then stored in outs->stream; closed by cleanup,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_cb_wrt.c,90,FP,"file is FILE* from fdopen, closed via outs->stream cleanup; closed on fdopen fail",curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_cb_wrt.c,100,FP,file handed to outs->stream ownership; not leaked at success return,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_cb_wrt.c,107,FP,"FALSE return path: file NULL, fd closed; ownership otherwise transferred",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_wrt.c,112,FP,win_console buffer param; advisory style,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_cb_wrt.c,119,FP,"IS_TRAILING_BYTE args are simple lvalue indexes, no side effects in callers",curl_full_audit_0.4.35,med
PRE12-C,curl,src/tool_cb_wrt.c,119,FP,macro multi-eval of x but only called with side-effect-free rbuf[i]; benign,curl_full_audit_0.4.35,med
ARR01-C,curl,src/tool_cb_wrt.c,173,FP,"outs is struct OutStruct*, utf8seq is real array member; sizeof correct",curl_full_audit_0.4.35,high
INT14-C,curl,src/tool_cb_wrt.c,178,FP,rbuf[rlen-1]&0x80 bit test plus rlen arithmetic; readability advisory only,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_cb_wrt.c,240,FP,libcurl WRITEFUNCTION callback; buffer guaranteed non-NULL by libcurl,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_wrt.c,240,FP,sz*nmemb from libcurl bounded by CURL_MAX_WRITE_SIZE; checked at line 272,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_cb_wrt.c,240,FP,nmemb bounded by libcurl; size checked before use,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_cb_wrt.c,240,FP,callback signature fixed by libcurl typedef; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_wrt.c,240,FP,callback signature fixed by libcurl typedef,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_cb_wrt.c,261,FP,"curl_getenv returns allocated copy; curl_free frees that copy, not env",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_wrt.c,327,FP,"memchr(buffer,0,bytes) takes void*; no signed-char widening at this site",curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_wrt.c,338,TP,"fwrite return rc only compared if(bytes==rc) for byte accounting, not checked for short write error path",curl_full_audit_0.4.35,med
ERR00-C,curl,src/tool_cb_wrt.c,338,FP,duplicate of ERR33 at same site; rc compared to bytes; count once,curl_full_audit_0.4.35,med
FIO18-C,curl,src/tool_cb_wrt.c,338,FP,writing arbitrary binary body not a null-terminated string; strlen inapplicable,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_cb_wrt.c,354,FP,fflush res checked: if(res) return CURL_WRITEFUNC_ERROR at line 358,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,58,FP,conformant-array-syntax style advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,58,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curlx/inet_ntop.c,60,FP,"tmp is fixed-size char[sizeof(...)], not a runtime VLA",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,88,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,88,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curlx/inet_ntop.c,97,FP,"tmp is fixed-size array, not VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curlx/inet_ntop.c,103,FP,"words[] is fixed-size compile-time array, not VLA",curl_full_audit_0.4.35,high
INT14-C,curl,lib/curlx/inet_ntop.c,112,FP,index/shift idiom; readability advisory only,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curlx/inet_ntop.c,112,FP,"src indexing plus shift; standard ISC code, readability advisory",curl_full_audit_0.4.35,high
INT13-C,curl,lib/curlx/inet_ntop.c,112,FP,"i bounded 0..15; shift operand non-negative, no UB",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curlx/inet_ntop.c,139,FP,tp=tmp takes address of array; tmp written before read via SNPRINTF path,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,144,FP,"*tp++=':' stores a literal char, no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,151,FP,"*tp++=':' stores literal char, no sign extension",curl_full_audit_0.4.35,high
STR04-C,curl,lib/curlx/inet_ntop.c,166,FP,"ldigits used as byte lookup table, not a string; deliberate unsigned",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,171,FP,assigning unsigned-char digit from table; no sign issue,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/curlx/inet_ntop.c,171,FP,hex bitmask literals are self-documenting; style advisory,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,173,FP,assigning unsigned-char table value; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,175,FP,assigning unsigned-char table value; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,176,FP,assigning unsigned-char table value; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_ntop.c,183,FP,*tp++=':' stores literal char,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,210,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/inet_ntop.c,210,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_dbg.c,40,FP,static storage is zero-initialized by standard,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_dbg.c,46,FP,now set by toolx_localtime or memset before use,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_cb_dbg.c,49,FP,"hms_buf is static, not stack-local; returning it is safe",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_dbg.c,49,FP,static array zero-initialized; written via snprintf,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_cb_dbg.c,59,FP,initializer-sized const string array; explicit bounds unnecessary,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,68,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,68,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,68,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,69,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_cb_dbg.c,119,FP,fflush of trace stream; failure non-actionable in debug dump,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_cb_dbg.c,128,FP,fixed libcurl DEBUGFUNCTION callback signature; data guaranteed by libcurl,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,129,FP,conformant-array-syntax style advisory; signature fixed by libcurl typedef,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_dbg.c,130,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_dbg.c,130,FP,userdata signature fixed by CURLOPT_DEBUGFUNCTION typedef; const not allowed,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_dbg.c,156,FP,xfer_id only read after getinfo returns 0 (success writes it),curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_dbg.c,158,FP,conn_id only read after getinfo success writes it,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_dbg.c,171,FP,!strcmp idiom in dispatch; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_dbg.c,173,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_cb_dbg.c,177,FP,"trace_stream cached in global, closed by tool cleanup (trace_fopened); not leaked",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_cb_dbg.c,177,FP,fopen result tracked in global and closed at cleanup; duplicate of above,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_cb_dbg.c,191,FP,curl CLI debug callback is single-threaded; no concurrency,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_cb_dbg.c,192,FP,single-threaded CLI trace state; no concurrency,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_gssapi.c,105,FP,signature mirrors gss_init_sec_context API; cannot add const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_gssapi.c,106,FP,actual_mech_type is gss_OID* output param matching GSS API,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/curl_gssapi.c,135,FP,"getenv stored in const char* and consumed immediately, not retained",curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_gssapi.c,135,FP,test-stub getenv; single-threaded test path,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/curl_gssapi.c,227,FP,curlx_free(ctx) on error path then return; not used after free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_gssapi.c,227,FP,ctx->have_krb5 check precedes free; no access after free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_gssapi.c,227,FP,"ctx members read before free, freed only on error return",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_gssapi.c,252,FP,ctx->creds read before curlx_free(ctx); freed then returns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_gssapi.c,260,FP,ctx->sent read into snprintf before any free; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_gssapi.c,263,FP,ctx->sent read in snprintf args before freeing on error,curl_full_audit_0.4.35,high
INT00-C,curl,lib/curl_gssapi.c,276,FP,length-used guarded by if(used>=length) check at line 268,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_gssapi.c,278,FP,"ctx is heap (curlx_calloc), not automatic; storing it is valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_gssapi.c,313,FP,"data deref'd as data->set, always valid from caller; thin dispatcher",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_gssapi.c,313,FP,ret_flags passed through to GSS API which accepts it,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_gssapi.c,342,FP,getenv presence-check only; debug stub path,curl_full_audit_0.4.35,med
CON34-C,curl,lib/curl_gssapi.c,378,FP,getenv presence-check; debug stub path,curl_full_audit_0.4.35,med
API05-C,curl,lib/curl_gssapi.c,390,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_gssapi.c,390,FP,buf is written via snprintf inside loop; not read-only,curl_full_audit_0.4.35,med
ERR02-C,curl,lib/curl_gssapi.c,406,FP,curl_msnprintf return used to advance len; bounded by guard at 405,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_gssapi.c,429,FP,data only passed to infof; caller always supplies valid handle,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_gssapi.c,432,FP,buf is mutated by display_gss_error via snprintf; cannot be const,curl_full_audit_0.4.35,high
API00-C,curl,lib/uint-table.c,35,FP,"entry_dtor is function-pointer member stored, not dereferenced unchecked",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-table.c,36,FP,"entry_dtor stored into tbl; it is a callback ptr, const inapplicable",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-table.c,38,FP,"tbl is struct pointer; sizeof(*tbl) is struct size, correct",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-table.c,70,FP,curlx_calloc declared in curl headers; sqc header-resolution miss,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/uint-table.c,74,FP,"dest allocated nrows; copy bounded by CURLMIN(nrows,tbl->nrows)",curl_full_audit_0.4.35,high
INT32-C,curl,lib/uint-table.c,74,FP,"nrows*sizeof(void*) bounded; allocated same way, no overflow path",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-table.c,77,FP,curlx_free declared in headers; resolution miss,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-table.c,89,FP,curlx_free declared in headers; resolution miss,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/uint-table.c,90,FP,tbl is struct pointer; sizeof(*tbl) correct,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/uint-table.c,93,FP,"UNITTEST export; declared in header, used by test harness externally",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/uint-table.c,93,FP,UNITTEST function intentionally exported for unit tests,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-table.c,101,FP,accessor signature consistency; tbl not modified but API-wide convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-table.c,106,FP,accessor API convention; const not applied project-wide,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-table.c,111,FP,accessor API convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-table.c,116,FP,"entry stored into table row, not read-only",curl_full_audit_0.4.35,med
API00-C,curl,lib/uint-table.c,152,FP,key passed to clear_rows which bounds via CURLMIN; no overflow arithmetic,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/uint-table.c,154,FP,"no restrict pointers; single tbl arg, no overlap UB",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-table.c,157,FP,tbl not modified but API convention; minor,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/uint-table.c,159,FP,key bounds-checked: (key < tbl->nrows) before rows[key],curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-table.c,162,FP,accessor API convention,curl_full_audit_0.4.35,med
API00-C,curl,lib/uint-table.c,190,FP,last_key+1 then bounds-checked in next_at loop; no unguarded arithmetic,curl_full_audit_0.4.35,high
API05-C,curl,lib/httpsrr.c,34,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/httpsrr.c,35,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/httpsrr.c,57,FP,"intentional empty-then-else idiom: skip if already stored, else store",curl_full_audit_0.4.35,med
API00-C,curl,lib/httpsrr.c,71,FP,data only passed to trace macros; caller supplies valid handle,curl_full_audit_0.4.35,high
API00-C,curl,lib/httpsrr.c,71,FP,val used with vlen guards per-branch; NULL handled by length checks,curl_full_audit_0.4.35,med
API05-C,curl,lib/httpsrr.c,73,FP,conformant-array-syntax style advisory,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,96,FP,"free(hi->ipv4hints) then reassign from memdup; free-then-reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,106,FP,free then reassign echconfiglist from memdup; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,116,FP,free then reassign ipv6hints from memdup; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/httpsrr.c,124,FP,"val[0]/val[1] reached only when vlen==2, so val non-NULL",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,125,FP,"hi->port is a scalar field, not a freed pointer",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/httpsrr.c,137,FP,"rrinfo is struct pointer; sizeof(*rrinfo) is struct size, intended",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/httpsrr.c,139,FP,sizeof(*rrinfo) correct for memset of the struct,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/httpsrr.c,140,FP,"dup is heap (curlx_memdup), not automatic storage",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/httpsrr.c,143,FP,rrinfo members are freed (mutated) by Curl_safefree; not const,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/httpsrr.c,164,FP,val may be NULL but callee guards each branch by vlen before deref,curl_full_audit_0.4.35,med
API00-C,curl,lib/httpsrr.c,167,FP,data only passed to trace macros; valid by caller contract,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/httpsrr.c,175,FP,target assigned at 183 before read at 184 within same iteration,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,187,FP,free(hinfo->target) then reassign from strdup; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/httpsrr.c,191,FP,target read in trace after successful strdup reassign; not freed,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,81,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,82,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,84,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,91,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,116,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,119,FP,prototype style advisory,curl_full_audit_0.4.35,high
API02-C,curl,lib/http.h,179,FP,buf paired with blen size param present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,180,FP,prototype style advisory,curl_full_audit_0.4.35,high
API02-C,curl,lib/http.h,209,FP,s paired with len size param present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,209,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,209,FP,prototype style advisory,curl_full_audit_0.4.35,high
DCL38-C,curl,lib/http.h,220,FP,method[1] is deliberate trailing struct-hack allocated with extra; curl idiom,curl_full_audit_0.4.35,med
STR31-C,curl,lib/http.h,220,FP,"method[1] is flexible-member hack, sized by allocation not a literal",curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,227,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,228,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,229,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,230,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,233,FP,prototype style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.h,234,FP,prototype style advisory,curl_full_audit_0.4.35,high
INT14-C,curl,lib/noproxy.c,61,FP,Idiomatic netmask: shift+arith on bits; readability advisory only,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/noproxy.c,77,FP,Both #ifdef arms return; all paths return a value,curl_full_audit_0.4.35,high
INT14-C,curl,lib/noproxy.c,90,FP,bits/8 and bits&7 are standard byte/bit split; advisory,curl_full_audit_0.4.35,high
INT14-C,curl,lib/noproxy.c,100,FP,Idiomatic mask construction; readability advisory only,curl_full_audit_0.4.35,high
INT34-C,curl,lib/noproxy.c,100,FP,"rest=bits&7 so 8-rest in 1..8, well within int width",curl_full_audit_0.4.35,high
API05-C,curl,lib/noproxy.c,118,FP,Conformant-array style; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/noproxy.c,119,FP,Conformant-array style advisory; project convention,curl_full_audit_0.4.35,high
INT30-C,curl,lib/noproxy.c,124,FP,Caller guards if(tokenlen); tokenlen>=1 here,curl_full_audit_0.4.35,high
INT30-C,curl,lib/noproxy.c,125,FP,Decrement guarded by tokenlen>=1 (trailing-dot check),curl_full_audit_0.4.35,high
INT30-C,curl,lib/noproxy.c,130,FP,Decrement inside if(tokenlen && *token=='.') guard,curl_full_audit_0.4.35,high
API05-C,curl,lib/noproxy.c,148,FP,Conformant-array style advisory; project convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/noproxy.c,149,FP,Conformant-array style advisory; project convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/noproxy.c,165,FP,&slash[1] assigned to char*; no char sign-extension occurs,curl_full_audit_0.4.35,high
STR34-C,curl,lib/noproxy.c,170,FP,*slash=0 writes constant; not a sign-extending read,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/noproxy.c,201,FP,!strcmp boolean idiom; standard curl convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/noproxy.c,208,FP,inet_pton documented to return 1 on success; ==1 correct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/noproxy.c,208,FP,address is inet_pton output buffer; written not read,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/noproxy.c,211,FP,EncodePointer suggestion nonsensical; no function pointer stored,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/noproxy.c,220,FP,while(*p) bounded by NUL terminator of no_proxy string,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,44,FP,Internal helper; data always valid from callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,70,FP,Internal state machine; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,129,FP,Internal init; pnow always passed valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,150,FP,Internal send; data always valid,curl_full_audit_0.4.35,high
INT30-C,curl,lib/pingpong.c,197,FP,Guarded by bytes_written!=write_len; bytes_written<=write_len,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,218,FP,Thin varargs wrapper; data passed through,curl_full_audit_0.4.35,high
API05-C,curl,lib/pingpong.c,234,FP,Conformant-array style advisory; project convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,246,FP,Internal response reader; data always valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/pingpong.c,249,FP,Conformant-array style advisory; project convention,curl_full_audit_0.4.35,high
INT30-C,curl,lib/pingpong.c,290,FP,"Header byte counter; bounded by response size, not wraparound",curl_full_audit_0.4.35,high
INT30-C,curl,lib/pingpong.c,292,FP,nread_resp counter accumulating bounded read sizes,curl_full_audit_0.4.35,high
STR34-C,curl,lib/pingpong.c,301,FP,"nl-line is pointer subtraction (ptrdiff), not char conversion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/pingpong.c,301,FP,line is const char* pointer; no char sign extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/pingpong.c,350,FP,Internal pollset; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pingpong.c,351,TP,pp only read in Curl_pp_pollset; could be const (brief-cited TP),curl_full_audit_0.4.35,low
DCL13-C,curl,lib/pingpong.c,359,TP,data unused ((void)data); could be const,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/pingpong.c,360,TP,pp only read in Curl_pp_needs_flush; could be const,curl_full_audit_0.4.35,low
INT30-C,curl,lib/pingpong.c,388,FP,Guarded by written!=sendleft; written<sendleft (partial send),curl_full_audit_0.4.35,high
ARR01-C,curl,lib/pingpong.c,403,FP,"memset(pp,0,sizeof(*pp)) is correct struct-size idiom",curl_full_audit_0.4.35,high
INT33-C,curl,lib/uint-hash.c,35,FP,slots nonzero by API contract; init/callers DEBUGASSERT slots,curl_full_audit_0.4.35,med
API00-C,curl,lib/uint-hash.c,44,FP,dtor stored not derefed; NULL dtor is valid (checked later),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-hash.c,46,FP,"dtor is function-pointer typedef, stored into h; const inapplicable",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/uint-hash.c,60,FP,value (void*) stored into e->value as non-const; can't const,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/uint-hash.c,65,FP,curlx_malloc declared via curlx header macros; not implicit,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/uint-hash.c,65,FP,e assigned from curlx_malloc then guarded by if(e); initialized,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/uint-hash.c,71,FP,"return e points to malloc'd heap, not automatic storage",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/uint-hash.c,90,FP,curlx_free declared via curlx header; not implicit,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-hash.c,95,TP,"Static helper; he only read (he->next), never written through",curl_full_audit_0.4.35,low
PRE00-C,curl,lib/uint-hash.c,110,FP,Macro args always simple pointer/scalar vars; no side effects,curl_full_audit_0.4.35,med
PRE01-C,curl,lib/uint-hash.c,110,TP,Bare h in h->table unparenthesized (inconsistent with (h)->slots),curl_full_audit_0.4.35,low
PRE12-C,curl,lib/uint-hash.c,110,FP,Multiple-eval harmless: args are simple vars without side effects,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/uint-hash.c,121,FP,curlx_calloc declared via curlx header; not implicit,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/uint-hash.c,121,FP,sizeof(*he) does not evaluate/deref he,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/uint-hash.c,173,FP,"index id%slots, slots is table size; in-bounds by construction",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/uint-hash.c,215,FP,Only h->table freed; h->size is separate live struct member,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/uint-hash.c,219,FP,Public hash-API family consistency; const breaks uniformity,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/uint-hash.c,225,FP,visit may mutate via callback; public API family signature,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/uint-hash.c,226,FP,cb is function-pointer typedef; const inapplicable,curl_full_audit_0.4.35,med
DCL37-C,curl,src/tool_main.c,69,FP,_CRT_glob is MinGW runtime-mandated name; cannot rename,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_main.c,69,FP,Reserved-id on platform-mandated MinGW _CRT_glob,curl_full_audit_0.4.35,high
DCL36-C,curl,src/tool_main.c,70,FP,"extern decl then definition; both external linkage, not static",curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_main.c,70,FP,_CRT_glob platform-mandated; cannot rename,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_main.c,70,FP,Reserved-id on MinGW-mandated _CRT_glob,curl_full_audit_0.4.35,high
FIO23-C,curl,src/tool_main.c,94,FP,Early error return from main; OS flushes stdout at exit,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_main.c,111,FP,"env is curl_getenv heap copy, not getenv static buffer; free OK",curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_main.c,122,FP,"str_number advances const char** cursor, doesn't modify content",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_main.c,122,FP,"env freed at L125, after str_number; no use-after-free",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_main.c,122,FP,"p points into env which is freed later, not before",curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_main.c,124,FP,env is curl_getenv heap copy; curl_free correct,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_main.c,124,FP,env reassigned by second curl_getenv at L118; distinct allocations,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_main.c,124,FP,Distinct CURL_MEMLIMIT alloc; first env block already returned/freed,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_main.c,141,FP,wmain/main signature fixed by C standard/Windows; cannot add size,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_main.c,141,FP,Standard main argv[] signature; bounds cannot be specified,curl_full_audit_0.4.35,high
SIG00-C,curl,src/tool_main.c,178,FP,"signal(SIGPIPE,SIG_IGN): no handler, no race; portable idiom",curl_full_audit_0.4.35,med
SIG02-C,curl,src/tool_main.c,178,FP,"Ignoring SIGPIPE, not using signals for data handling",curl_full_audit_0.4.35,high
SIG34-C,curl,src/tool_main.c,178,FP,main() is not a signal handler; not called from a handler,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_main.c,197,FP,fflush(NULL) at Windows process exit; nothing actionable,curl_full_audit_0.4.35,low
PRE08-C,curl,src/tool_operhlp.c,26,FP,8.3 filename-collision advisory; irrelevant on modern systems,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operhlp.c,63,FP,!strcmp boolean idiom; standard curl convention,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operhlp.c,63,FP,!strcmp boolean idiom; standard curl convention,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operhlp.c,107,FP,path non-NULL (url_get succeeded); curl_free is NULL-safe anyway,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_operhlp.c,112,FP,|| introduces sequence point; ++ptr ordered before deref,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operhlp.c,136,FP,path non-NULL here (url_get for PATH succeeded earlier),curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operhlp.c,139,FP,path non-NULL here (url_get for PATH succeeded earlier),curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operhlp.c,146,FP,curlx_free declared via curlx header; not implicit,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operhlp.c,156,FP,curlx_free declared via curlx header; not implicit,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,157,FP,*inurlp=newurl assigns char*; not a char sign-extension,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operhlp.c,167,FP,curl_free is NULL-safe; path may be NULL legitimately,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,186,FP,*filename=strdup(...) assigns char*; not char sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,204,FP,*pc=0 writes constant 0; not a sign-extending read,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,210,FP,*filename=strdup(...) assigns char*; not char sign-extension,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operhlp.c,210,FP,curlx_strdup declared via curlx header; not implicit,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,214,FP,*filename=strdup(...) assigns char*; not char sign-extension,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operhlp.c,214,FP,curlx_strdup declared via curlx header; not implicit,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operhlp.c,218,FP,*filename NULL-checked at line 219 before this Windows-only use,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_operhlp.c,229,FP,*filename=sanitized assigns char*; not char sign-extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-base.c,70,FP,Internal pollset; data always valid from caller,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/asyn-base.c,86,FP,sockets[] is ares_getsock output buffer; filled before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/asyn-base.c,96,FP,sockets filled by ares_getsock at L86 before loop reads,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/asyn-base.c,122,FP,socks[] is c-ares socket array; no environment variable involved,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/asyn-base.c,123,FP,pfd[] is pollfd array; no environment variable involved,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/asyn-base.c,133,FP,pfd[i].events/revents set to 0 in same loop iter before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/asyn-base.c,136,FP,socks filled by ares_getsock at L130 before loop reads,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/asyn-base.c,140,FP,socks filled by ares_getsock at L130 before loop reads,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/asyn-base.c,143,FP,pfd[i].events initialized at L133 in same iteration,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-base.c,181,FP,Internal cleanup; data always valid from callers,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/asyn-base.c,181,FP,Cleanup cycle is bounded/guarded by handle state; not unbounded recursion,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/asyn-base.c,192,FP,Only hostname member freed; state.async container not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-base.c,192,FP,data->state not freed; only nested hostname pointer freed,curl_full_audit_0.4.35,high
API00-C,curl,lib/asyn-base.c,195,FP,Internal destroy; data always valid from callers,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/asyn-base.c,195,FP,Cleanup cycle bounded by handle state; not unbounded recursion,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/asyn-base.c,204,FP,doh_cleanup in different function path; data not freed by it,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-base.c,206,FP,Only hostname member freed; state.async container live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/asyn-base.c,206,FP,Curl_safefree of struct member in destructor; frees-and-nulls once,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/curl_threads.c,42,FP,EncodePointer is Windows-hardening advisory; not a CERT-C violation here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_threads.c,47,FP,"real_arg=ac->arg saved before free(ac); func/arg copied out, not freed memory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_threads.c,53,FP,arg stored into struct field; opaque thread-entry contract,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/curl_threads.c,64,FP,ac guarded by if(!(ac&&t)) goto err; non-NULL here,curl_full_audit_0.4.35,high
CON04-C,curl,lib/curl_threads.c,67,FP,thread joined/detached by caller via Curl_thread_join/destroy,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,67,FP,"rc is int return code, not allocation; pthread_create misclassified",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,67,FP,"errno is errno, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,70,FP,"rc is int, no allocation; goto err frees real allocs t/ac",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,70,FP,errno not an allocation,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curl_threads.c,73,FP,t returned to caller (ownership transfer); ac freed by thunk,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,73,FP,"rc is int, not allocated",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,73,FP,errno not allocated,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/curl_threads.c,75,FP,err: label reachable via goto; not unreachable,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curl_threads.c,78,FP,err path frees t and ac correctly; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,78,FP,"rc is int, not allocated",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curl_threads.c,78,FP,errno not allocated,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_threads.c,102,FP,arg passed opaquely to CreateThread; not dereferenced here,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/curl_threads.c,105,FP,CreateThread args distinct (func vs arg); no restrict aliasing,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_ntlm.c,51,FP,internal callee; data->conn deref guaranteed by call contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_ntlm.c,51,FP,header checked via checkprefix before use,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_ntlm.c,114,FP,internal API; DEBUGASSERT(data) and conn always valid,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/http_ntlm.c,127,FP,"passwdp is const pointer into data state, not a writable local buffer",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_ntlm.c,167,FP,"authp=&data->state.authhost/authproxy, never NULL",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_ntlm.c,192,FP,"state=&conn->...ntlm_state, address of member, non-NULL",curl_full_audit_0.4.35,high
CON43-C,curl,lib/http_ntlm.c,195,FP,single-threaded local switch on *state; no double-fetch race,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_ntlm.c,203,FP,distinct accessor calls in one arg list; no shared-object unsequenced mod,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_ntlm.c,206,FP,allocuserpwd is &member address; *allocuserpwd freed/reassigned safely,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_ntlm.c,207,FP,char** write of maprintf result; no char sign-extension,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_ntlm.c,208,FP,base64 non-NULL after successful base64_encode (result==0),curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_ntlm.c,221,FP,distinct accessors; no unsequenced side effects,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_ntlm.c,221,FP,"base64 freshly allocated in this case; separate switch arm, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_ntlm.c,222,FP,base64 valid here; analyzer conflated two switch cases,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_ntlm.c,225,FP,char** assignment; no sign extension,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_ntlm.c,225,FP,base64 used before its free at line 227; not yet freed,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_ntlm.c,226,FP,base64 non-NULL after successful encode,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_ntlm.c,227,FP,single free per arm; no double-free,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socketpair.c,154,FP,addrlen=sizeof(a.inaddr) init; a zeroed by memset at 162,curl_full_audit_0.4.35,high
STR31-C,curl,lib/socketpair.c,156,FP,struct pollfd pfd[1] not a string buffer,curl_full_audit_0.4.35,high
INT18-C,curl,lib/socketpair.c,175,FP,setsockopt returns signed int; ==-1 comparison correct,curl_full_audit_0.4.35,high
INT18-C,curl,lib/socketpair.c,181,FP,setsockopt int return; comparison to -1 valid,curl_full_audit_0.4.35,high
INT18-C,curl,lib/socketpair.c,185,FP,bind returns int; ==-1 valid,curl_full_audit_0.4.35,high
POS02-C,curl,lib/socketpair.c,185,FP,loopback self-pipe helper; no privilege escalation context,curl_full_audit_0.4.35,high
POS02-C,curl,lib/socketpair.c,190,FP,local listener; no privilege drop relevant,curl_full_audit_0.4.35,high
INT18-C,curl,lib/socketpair.c,195,FP,connect returns int; ==-1 valid,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/socketpair.c,211,FP,"char check[sizeof(rnd)] is fixed-size (9), not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socketpair.c,212,FP,check filled by sread into p before memcmp; p=&check[0] is write target,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socketpair.c,215,FP,rnd filled by Curl_rand before use,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/socketpair.c,253,FP,p points into check[] array; p+=nread within bounds (s tracks remaining),curl_full_audit_0.4.35,high
MSC07-C,curl,lib/socketpair.c,273,FP,error: label reachable via goto,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/socketpair.c,283,FP,Curl_wakeup_init returns on every #if branch,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socketpair.c,310,FP,socks[2] is out-param array written by signal/consume; not const,curl_full_audit_0.4.35,high
STR31-C,curl,lib/socketpair.c,314,FP,"buf[1] init list, not string buffer needing terminator",curl_full_audit_0.4.35,high
STR31-C,curl,lib/socketpair.c,316,FP,"const char buf[1] sentinel byte, not a string",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socketpair.c,337,FP,socks array is read AND state cleared by destroy; not const,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_share.c,33,FP,curl_share_init is public exported API; must have external linkage,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curl_share.c,35,FP,curlx_calloc declared in curlx headers/macros,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curl_share.c,42,FP,curlx_free declared via curlx header,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_share.c,49,FP,"getenv under DEBUGBUILD only; debug-build diagnostic, not production race",curl_full_audit_0.4.35,med
DCL15-C,curl,lib/curl_share.c,58,FP,curl_share_setopt is public API,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/curl_share.c,99,FP,"break ends case; following text is next case label, reachable",curl_full_audit_0.4.35,high
INT34-C,curl,lib/curl_share.c,144,FP,type is bounded CURL_LOCK_DATA_* enum; shift within int width,curl_full_audit_0.4.35,med
INT13-C,curl,lib/curl_share.c,144,FP,signed enum shift idiom on bounded small values,curl_full_audit_0.4.35,med
INT13-C,curl,lib/curl_share.c,150,FP,signed enum operand; bounded values,curl_full_audit_0.4.35,med
INT34-C,curl,lib/curl_share.c,150,FP,shift by bounded enum type; safe,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/curl_share.c,166,FP,"break at case end; next is case label, reachable",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_share.c,221,FP,curl_share_cleanup is public API,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curl_share.c,264,FP,curlx_free declared in header,curl_full_audit_0.4.35,high
INT13-C,curl,lib/curl_share.c,277,FP,signed enum & idiom; bounded,curl_full_audit_0.4.35,med
INT34-C,curl,lib/curl_share.c,277,FP,shift by bounded enum; safe,curl_full_audit_0.4.35,med
INT13-C,curl,lib/curl_share.c,293,FP,signed enum & idiom; bounded,curl_full_audit_0.4.35,med
INT34-C,curl,lib/curl_share.c,293,FP,shift by bounded enum; safe,curl_full_audit_0.4.35,med
API00-C,curl,lib/http_negotiate.c,49,FP,internal API; conn/data guaranteed valid by callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_negotiate.c,49,FP,conn always valid in auth call path,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/http_negotiate.c,57,FP,"passwdp is const pointer into conn, not a writable buffer to scrub",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_negotiate.c,127,FP,result assigned by Curl_ssl_get_channel_binding at 125 before test,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_negotiate.c,151,FP,internal API; data valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_negotiate.c,151,FP,conn valid by call contract,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_negotiate.c,178,FP,"authp=&data->state.auth*, address of member, non-NULL",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_negotiate.c,180,FP,"state=&conn->...negotiate_state, non-NULL member address",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_negotiate.c,216,FP,maprintf NULL-safe for %s; userp NULL checked at 231,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,220,FP,free then immediate reassign of aptr field; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,220,FP,"data->state is struct member; free-reassign of its field, no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,221,FP,assigning userp to freed slot; reassignment not access,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,221,FP,member reassignment after free; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,225,FP,non-proxy branch: free then reassign userpwd; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,225,FP,member field reassignment; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,226,FP,reassign aptr.userpwd=userp after free; valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_negotiate.c,226,FP,member reassignment after free; no UAF,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/http1.c,38,FP,sizeof(*parser) on pointer-to-struct yields struct size correctly; not decayed array,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http1.c,47,FP,curlx_dyn_free(&scratch) then req=NULL; scratch not accessed after,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.c,78,FP,curl never uses C99 array-param syntax; stylistic advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.c,95,FP,stylistic array-syntax advisory; convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http1.c,145,FP,!strncmp method-match idiom; explicit comparison present in expr,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/http1.c,149,FP,"memchr(line,' ',line_len) bounded by line_len; valid",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http1.c,195,FP,"!strncmp(""CONNECT"",...) idiom; bounded",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/http1.c,208,FP,tmp[H1_MAX_URL_LEN] for URL target with bounds check; no env var,curl_full_audit_0.4.35,high
API00-C,curl,lib/http1.c,262,FP,buflen used as loop bound with decrement guard; no overflow arithmetic,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http1.c,262,FP,all paths reach out: return result,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.c,263,FP,array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.c,264,FP,array-syntax style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http1.c,265,FP,array-syntax style advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/http1.c,317,FP,internal write head; req valid by caller (parser->req),curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http1.c,317,FP,single return path via out label returns result,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http1.c,323,FP,req->method deref; req always non-NULL from caller's parser->req,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/slist.c,29,FP,slist_get_last returns the (non-const) traversed node; cannot be const,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/slist.c,42,FP,"returns item pointing into caller's list, not a local",curl_full_audit_0.4.35,high
API00-C,curl,lib/slist.c,54,FP,"DEBUGASSERT(data); data ownership taken, not deref'd as NULL",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/slist.c,62,FP,curlx_malloc declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/slist.c,71,FP,"new_item is malloc'd heap pointer, not automatic storage",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/slist.c,74,FP,list non-NULL here (early-returned at 70); last non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/slist.c,85,FP,curl_slist_append handles NULL list (Curl_slist_append_nodup returns new),curl_full_audit_0.4.35,high
DCL15-C,curl,lib/slist.c,85,FP,curl_slist_append is public exported API,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/slist.c,87,FP,curlx_strdup declared via curlx header,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/slist.c,94,FP,curlx_free declared via header,curl_full_audit_0.4.35,high
API00-C,curl,lib/slist.c,104,FP,while(inlist) loop is NULL-safe (zero iterations),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/slist.c,104,FP,inlist traversed and ->data read; could be const but signature is API; advisory,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/slist.c,124,FP,curl_slist_free_all is public exported API,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/slist.c,124,FP,public API used by external callers; cannot be static,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/slist.c,124,FP,list nodes freed (modified/freed); cannot be const,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/slist.c,136,FP,curlx_free declared via header,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/urldata.h,96,FP,"ftp@example.com is conventional anonymous-FTP password, public well-known string, not a secret",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/urldata.h,218,FP,[adv] GOOD_EASY_HANDLE evaluates x multiple times; inline fn would be safer (advisory),curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,218,FP,"[adv] macro evaluates x multiple times; unsafe-macro pattern, side-effect arg would double-eval",curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/urldata.h,222,FP,[adv] non-DEBUG GOOD_EASY_HANDLE also evaluates x twice,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,222,FP,[adv] macro evaluates x twice; genuine multiple evaluation,curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/urldata.h,581,FP,[adv] CUR_IP_QUAD_HAS_PORTS evaluates x->transport three times,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,581,FP,[adv] x evaluated 3x; multiple evaluation present,curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/urldata.h,648,FP,[adv] CONN_SOCK_IDX_VALID evaluates i twice,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,648,FP,[adv] i evaluated twice; multiple evaluation present,curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/urldata.h,732,FP,[adv] CURL_CONN_HOST_DISPNAME evaluates c many times,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,732,FP,[adv] c evaluated multiple times across ternary chain,curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/urldata.h,738,FP,[adv] non-proxy CURL_CONN_HOST_DISPNAME evaluates c twice,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,738,FP,[adv] c evaluated twice; multiple evaluation present,curl_full_audit_0.4.35,adversarial-flip
API01-C,curl,lib/urldata.h,1396,FP,"char *str[] is a pointer array, not a char buffer; no overflow into blobs",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/urldata.h,1594,FP,[adv] IS_MIME_POST evaluates a twice (a->set.mimepostp),curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/urldata.h,1594,FP,[adv] a evaluated twice; multiple evaluation present,curl_full_audit_0.4.35,adversarial-flip
EXP33-C,curl,lib/vtls/keylog.c,44,FP,static FILE* is zero/NULL-initialized by C standard; not uninitialized,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/keylog.c,47,FP,closed by paired Curl_tls_keylog_close() via curlx_fclose; module-level lifecycle,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/keylog.c,47,FP,fopen not open(); duplicate misclassified fd-leak; closed by paired close fn,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/keylog.c,47,FP,name from curl_getenv (malloc'd copy); fopen does not modify it,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/keylog.c,59,FP,Curl_safefree correctly frees the curl_getenv-allocated copy,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/keylog.c,66,FP,static FILE* default-initialized to NULL; not uninitialized,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/keylog.c,74,FP,static FILE* default-initialized to NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/keylog.c,83,FP,static FILE* default-initialized to NULL,curl_full_audit_0.4.35,high
STR31-C,curl,lib/vtls/keylog.c,93,FP,NUL appended manually at L97 after bounds check linelen<=sizeof(buf)-2,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vtls/keylog.c,97,FP,guarded: linelen<=254 then ++ <=255; buf[255] in-bounds,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/keylog.c,105,FP,advisory conformant-array style; curl convention never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/keylog.c,106,FP,"CLIENT_RANDOM_SIZE is a macro constant, not a later-declared param",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/keylog.c,107,FP,advisory conformant-array style,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/keylog.c,110,FP,line[] sized by compile-time constants; function does not use getenv,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vtls/keylog.c,110,FP,array sized entirely by macro constants; not a VLA,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/keylog.c,114,FP,static FILE* default-initialized to NULL,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,30,FP,file2string out-param char**; no array-capacity arg meaningful,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,30,FP,"FILE* is a handle, not a sized array",curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,38,FP,file2memory already returns size via size_t* out-param,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,38,FP,"FILE* is a handle, not a sized array",curl_full_audit_0.4.35,high
API03-C,curl,src/tool_paramhlp.h,38,FP,param-ordering style note; not an actionable CERT violation,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.h,38,FP,advisory conformant-array style,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,39,FP,file2memory_range returns size via out-param,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,39,FP,"FILE* handle, not sized array",curl_full_audit_0.4.35,high
API03-C,curl,src/tool_paramhlp.h,39,FP,param-ordering style note; not actionable,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.h,39,FP,advisory conformant-array style,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,42,FP,str2num takes NUL-terminated string + out long*; no size needed,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,43,FP,str2unum NUL-terminated string; no size arg meaningful,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,44,FP,oct2nummax NUL-terminated string; no size arg meaningful,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,45,FP,str2unummax NUL-terminated string; no size arg meaningful,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,46,FP,secs2ms NUL-terminated string; no size arg meaningful,curl_full_audit_0.4.35,high
API02-C,curl,src/tool_paramhlp.h,47,FP,proto2num char** out-param; no array-capacity arg meaningful,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,100,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,102,FP,advisory array-syntax style; not applicable,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hash.c,108,FP,curlx_malloc declared in curl headers/memdebug,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hash.c,117,FP,"he is heap from curlx_malloc, not automatic storage",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hash.c,138,FP,curlx_free declared in curl headers,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,143,FP,static helper; curl does not follow const-param convention,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/hash.c,158,FP,[adv] CURL_HASH_SLOT multiply-evaluates x in rvalue context,curl_full_audit_0.4.35,adversarial-flip
PRE01-C,curl,lib/hash.c,158,FP,x only used as x->table/(x)->; precedence-safe,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/hash.c,158,FP,[adv] x evaluated multiple times in macro body,curl_full_audit_0.4.35,adversarial-flip
API05-C,curl,lib/hash.c,161,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,161,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hash.c,170,FP,curlx_calloc declared in curl headers,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hash.c,186,FP,he ownership transferred via hash_elem_link into table,curl_full_audit_0.4.35,high
API00-C,curl,lib/hash.c,202,FP,thin wrapper to Curl_hash_add2; never derefs p itself,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,202,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,202,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,212,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,238,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hash.c,245,FP,hash_func returns %slots; index always in-bounds,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hash.c,270,FP,h->size is struct member; only h->table freed at 268,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,295,FP,exported API; curl does not const-qualify hash params,curl_full_audit_0.4.35,low
EXP33-C,curl,lib/hash.c,312,FP,he assigned at 316 before any use,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/hash.c,312,FP,anchor points to mutable table slot; no const violation,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hash.c,315,FP,"comp is a function-pointer parameter, not undeclared fn",curl_full_audit_0.4.35,high
API00-C,curl,lib/hash.c,326,FP,key_length used only as loop bound; no overflow path,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.c,326,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,326,FP,key not modified but exported hash_function-shaped API,curl_full_audit_0.4.35,low
DCL00-C,curl,lib/hash.c,330,FP,"h is the accumulator, modified at 334-335",curl_full_audit_0.4.35,high
STR34-C,curl,lib/hash.c,333,FP,"char-deref sign-extension; categorical, harmless hash mixing",curl_full_audit_0.4.35,med
STR34-C,curl,lib/hash.c,333,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
STR34-C,curl,lib/hash.c,333,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
INT14-C,curl,lib/hash.c,334,FP,djb2-style hash idiom mixing shift and add,curl_full_audit_0.4.35,high
INT33-C,curl,lib/hash.c,338,FP,slots always >0 (DEBUGASSERT h->slots); never called with 0,curl_full_audit_0.4.35,low
API05-C,curl,lib/hash.c,341,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,341,FP,k1 matches comp_function typedef; const cannot be added,curl_full_audit_0.4.35,low
API05-C,curl,lib/hash.c,342,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,342,FP,k2 matches comp_function typedef; const cannot be added,curl_full_audit_0.4.35,low
EXP20-C,curl,lib/hash.c,344,FP,!memcmp equality idiom,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hash.c,350,FP,hash stored into iter->hash (non-const); exported API,curl_full_audit_0.4.35,low
ARR02-C,curl,src/tool_help.c,41,FP,initializer-sized array; idiomatic and correct,curl_full_audit_0.4.35,high
INT18-C,curl,src/tool_help.c,91,FP,reached only after longdesc<=cols check; no underflow,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,158,FP,internal callers always pass valid ctx,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,158,FP,internal callers always pass valid trigger,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,158,FP,internal callers always pass valid arg,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,158,FP,internal callers always pass valid endarg,curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,169,FP,"ctx->rbuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,170,FP,"ctx->rbuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,173,FP,"ctx->rbuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,176,FP,buf iterated by index over len; internal callers valid,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_help.c,176,FP,internal callers always pass valid ctx,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_help.c,176,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_help.c,182,FP,tlen=strlen of fixed nonzero literal; bounded,curl_full_audit_0.4.35,low
EXP20-C,curl,src/tool_help.c,184,FP,!memcmp equality idiom,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_help.c,190,FP,flen=strlen of fixed nonzero literal; bounded,curl_full_audit_0.4.35,low
EXP20-C,curl,src/tool_help.c,192,FP,!memcmp equality idiom,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_help.c,200,FP,elen=strlen of fixed nonzero literal; bounded,curl_full_audit_0.4.35,low
EXP20-C,curl,src/tool_help.c,202,FP,!memcmp equality idiom,curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,206,FP,"ctx->obuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,207,FP,"ctx->obuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,214,FP,"ctx->obuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_help.c,215,FP,"ctx->obuf is real array struct member, not decayed param",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_help.c,258,FP,categorical char-pointer deref sign-extension,curl_full_audit_0.4.35,med
EXP20-C,curl,src/tool_help.c,260,FP,!strncmp prefix-match idiom,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_help.c,261,FP,lookup points into string buffer; valid pointer arithmetic,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_help.c,329,FP,builtin assigned in for-init before deref,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_help.c,329,FP,*builtin is loop guard; non-null when dereferenced,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_help.c,333,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_help.c,333,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
EXP20-C,curl,src/tool_help.c,337,FP,!strcmp equality idiom,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_help.c,338,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_help.c,338,FP,categorical char-deref sign extension,curl_full_audit_0.4.35,med
DCL31-C,curl,src/tool_help.c,363,FP,curlx_malloc declared in curl headers,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_help.c,365,FP,feature_count small fixed build-time count; no overflow,curl_full_audit_0.4.35,med
EXP05-C,curl,src/tool_help.c,365,FP,"cast on own malloc'd feat_ext buffer; deliberate, no violation",curl_full_audit_0.4.35,med
EXP05-C,curl,src/tool_help.c,365,FP,cast on own malloc'd feat_ext buffer; deliberate,curl_full_audit_0.4.35,med
EXP05-C,curl,src/tool_help.c,372,FP,cast on own malloc'd feat_ext buffer for qsort,curl_full_audit_0.4.35,med
DCL31-C,curl,src/tool_help.c,378,FP,curlx_free declared in curl headers,curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_help.c,378,FP,cast on own malloc'd feat_ext buffer for free,curl_full_audit_0.4.35,med
API02-C,curl,lib/cfilters.h,250,FP,len size already paired with buf; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,251,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,253,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,254,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,254,FP,"pnread is an out-parameter, written by callee",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,260,FP,"input_pending is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,263,FP,"pres1 is scalar out-param, not array; advisory",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,321,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,322,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,324,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,325,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,325,FP,"pnread is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,498,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,498,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,499,FP,"pnread is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,506,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,507,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,515,FP,maxlen specifies size; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,519,FP,"pnread is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,526,FP,blen specifies size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,529,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,559,FP,"input_pending is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,580,FP,"pport is scalar out-param, not array; advisory",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,609,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,610,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.h,610,FP,"pnread is an out-parameter, written by callee",curl_full_audit_0.4.35,high
API02-C,curl,lib/cfilters.h,616,FP,len already specifies buffer size; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.h,617,FP,advisory array-syntax style,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/cfilters.h,655,FP,"CF_DATA_SAVE statement macro; cf/data are lvalue args, harmless",curl_full_audit_0.4.35,low
PRE01-C,curl,lib/cfilters.h,655,FP,data used inside cast; parenthesization moot,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/cfilters.h,655,FP,save evaluated multiple times but it is a plain lvalue,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/cfilters.h,663,FP,"CF_DATA_RESTORE statement macro; cf is lvalue arg, harmless",curl_full_audit_0.4.35,low
PRE12-C,curl,lib/cfilters.h,663,FP,cf is a plain lvalue; multiple eval harmless,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/cfilters.h,672,FP,"CF_DATA_SAVE non-debug variant; lvalue args, harmless",curl_full_audit_0.4.35,low
PRE01-C,curl,lib/cfilters.h,672,FP,data used inside cast; parenthesization moot,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/cfilters.h,672,FP,cf is a plain lvalue; multiple eval harmless,curl_full_audit_0.4.35,low
PRE00-C,curl,lib/cfilters.h,685,FP,"CF_DATA_CURRENT ternary macro; cf is lvalue, harmless",curl_full_audit_0.4.35,low
PRE12-C,curl,lib/cfilters.h,685,FP,cf evaluated twice but is a plain lvalue,curl_full_audit_0.4.35,low
API05-C,curl,lib/multi_ev.c,58,FP,hash callback signature fixed by Curl_hash typedef; no C99 array syntax in curl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ev.c,58,FP,hash-func callback signature fixed by typedef; cannot add const,curl_full_audit_0.4.35,high
API05-C,curl,lib/multi_ev.c,65,FP,hash compare callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ev.c,65,FP,hash compare callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/multi_ev.c,66,FP,hash compare callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ev.c,66,FP,hash compare callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi_ev.c,78,FP,curlx_free declared in curlx header; sqc preprocessor blindness,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ev.c,101,FP,"returns 'there' which points to hash-stored heap entry, not a local",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi_ev.c,105,FP,curlx_calloc declared in curlx header,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/multi_ev.c,112,FP,idiomatic !Curl_hash_add boolean success test,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ev.c,117,FP,"returns 'check', a calloc'd heap pointer, not a local's address",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ev.c,132,TP,"static helper, data only read (data->mid); const-qualifiable",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,137,TP,"static helper, e only read (e->conn); const-qualifiable",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,138,TP,"static helper, conn only compared not modified; const-qualifiable",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,144,TP,"static helper, data only read (data->mid)",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,152,FP,"[adv] conn pointer itself not modified, only stored; const param valid",curl_full_audit_0.4.35,adversarial-flip
DCL13-C,curl,lib/multi_ev.c,164,TP,"static helper, data only read",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,173,TP,"static helper, conn only compared not modified",curl_full_audit_0.4.35,med
INT14-C,curl,lib/multi_ev.c,253,FP,"DEBUGASSERT readers+writers; readability advisory, no defect",curl_full_audit_0.4.35,high
API05-C,curl,lib/multi_ev.c,431,FP,hash dtor callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ev.c,431,FP,hash dtor callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/multi_ev.c,431,FP,hash dtor callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi_ev.c,438,FP,curlx_free declared in curlx header,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi_ev.c,438,FP,"single free of ps in dtor; no prior free, not a double-free",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ev.c,451,FP,"returns ps from Curl_pollset_create (heap), not a local address",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ev.c,463,FP,"returns ps from Curl_pollset_create (heap), not a local address",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/multi_ev.c,489,FP,r is CURLcode return checked then reused; const-suggestion is noise,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,520,FP,thin wrapper forwarding to mev_assess which null-checks multi/data,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi_ev.c,526,FP,thin wrapper to mev_assess; internal invariant data non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi_ev.c,526,FP,thin wrapper to mev_assess; conn may legitimately be NULL and handled,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi_ev.c,550,FP,"internal API, multi always valid; matches curl convention",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/multi_ev.c,552,FP,void *user_data stored into e->user_data (non-const); const invalid,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/multi_ev.c,554,FP,e is a struct pointer return; const-noise advisory,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,561,FP,"internal API, multi always valid",curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,596,FP,"internal API, multi always valid",curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,596,FP,data passed through to mev_forget_socket; internal invariant,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,602,FP,data->conn DEBUGASSERT only; internal invariant non-NULL,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ev.c,612,FP,conn forwarded to mev_assess (NULL-tolerant); internal invariant,curl_full_audit_0.4.35,med
API05-C,curl,lib/progress.c,38,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/progress.c,39,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/progress.c,88,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/progress.c,89,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/progress.c,96,FP,unit[] initialized with explicit element list incl NUL; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/progress.c,171,FP,[adv] data only read; const-qualifiable (returns const ptr into data),curl_full_audit_0.4.35,adversarial-flip
DCL30-C,curl,lib/progress.c,176,FP,"pnow points into data->multi/progress, not a local; valid lifetime",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,191,FP,"internal API, data always valid per curl invariant",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,207,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,218,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,224,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,232,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,328,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,342,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,361,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,366,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,378,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
INT33-C,curl,lib/progress.c,404,FP,"guarded by 'else if(us>=1000000)' so us/1000000>=1, never zero",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/progress.c,410,FP,data is mutated via Curl_expire/state writes; cannot be const,curl_full_audit_0.4.35,med
INT33-C,curl,lib/progress.c,434,FP,CURL_SPEED_RECORDS is a nonzero compile-time constant,curl_full_audit_0.4.35,high
INT33-C,curl,lib/progress.c,461,FP,CURL_SPEED_RECORDS nonzero compile-time constant,curl_full_audit_0.4.35,high
INT10-C,curl,lib/progress.c,461,FP,(i_latest+1) small nonneg int mod positive const; no negative remainder,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/progress.c,475,FP,"duration_us clamped >=1; double division benign, advisory",curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,475,FP,curl_off_t->double widening within range; advisory,curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,475,FP,curl_off_t->double widening within range; advisory,curl_full_audit_0.4.35,med
INT33-C,curl,lib/progress.c,497,FP,"guarded by 'if(total>10000)' so total/100>=100, never zero",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/progress.c,503,TP,"static helper, d only read (speed/total_size/cur_size); const-qualifiable",curl_full_audit_0.4.35,med
INT33-C,curl,lib/progress.c,510,FP,guarded by '(d->speed > 0)'; never zero,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/progress.c,515,FP,"data heavily mutated (p->headers_out, progress fields); not const",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/progress.c,573,FP,"max6out calls write to distinct max6[N] buffers; no shared state, defined",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/progress.c,579,FP,max6out fills the buffer (snprintf) before returning the ptr that is read,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/progress.c,599,FP,"best-effort fflush of progress display; intentional ignore, idiomatic",curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,635,FP,curl_off_t->double for deprecated callback; in-range widening advisory,curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,636,FP,in-range widening advisory,curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,637,FP,in-range widening advisory,curl_full_audit_0.4.35,med
FLP34-C,curl,lib/progress.c,638,FP,in-range widening advisory,curl_full_audit_0.4.35,med
API00-C,curl,lib/progress.c,663,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/progress.c,668,FP,"internal API, data always valid",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/rand.c,54,FP,all #if/#elif/#else branches return; sqc preprocessor blindness,curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.c,54,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/rand.c,56,FP,length is caller-contract param for output buffer; documented API,curl_full_audit_0.4.35,high
CON07-C,curl,lib/rand.c,88,FP,"weak non-crypto fallback statics; benign race, not a real defect curl acts on",curl_full_audit_0.4.35,low
API05-C,curl,lib/rand.c,89,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/rand.c,108,FP,length is the documented output-buffer size param,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/rand.c,126,FP,r = randseed = expr is well-sequenced single assignment chain,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/rand.c,127,FP,r assigned on line 126 before use; not uninitialized,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/rand.c,127,FP,"r is unsigned int, not a FILE stream; total misfire",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/rand.c,127,FP,"r is unsigned int, not a FILE stream; total misfire",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/rand.c,128,FP,length is documented output-buffer size param (always 4),curl_full_audit_0.4.35,high
CON07-C,curl,lib/rand.c,135,FP,DEBUGBUILD-only env-override statics; not production threading concern,curl_full_audit_0.4.35,low
MSC37-C,curl,lib/rand.c,135,FP,both #ifdef USE_SSL branches return; preprocessor blindness,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/rand.c,140,FP,"getenv result used immediately (strlen/memcpy), no later getenv overwrite",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/rand.c,140,FP,return IS checked: 'if(force_entropy)' on next line,curl_full_audit_0.4.35,high
CON34-C,curl,lib/rand.c,140,FP,"DEBUGBUILD-only path, value used immediately; thread advisory n/a",curl_full_audit_0.4.35,med
CON03-C,curl,lib/rand.c,143,FP,DEBUGBUILD-only static seed flag; not a production sync concern,curl_full_audit_0.4.35,low
STR34-C,curl,lib/rand.c,147,FP,strlen(force_entropy) takes char*; no sign-extension; misfire,curl_full_audit_0.4.35,high
INT30-C,curl,lib/rand.c,155,FP,unsigned wrap is defined and intended for the PRNG seed,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/rand.c,166,FP,rnd is unsigned int*; sizeof(*rnd)=4 is correct and intended,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/rand.c,168,FP,rnd is unsigned int*; sizeof(*rnd)=4 is correct and intended,curl_full_audit_0.4.35,high
API00-C,curl,lib/rand.c,187,FP,"data documented to be NULL-able; not deref'd directly, passed to randit",curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.c,191,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/rand.c,191,FP,"rnd is the output buffer, written via *rnd++; cannot be const",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/rand.c,200,FP,loop bounded by num counter; not unbounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/rand.c,208,FP,inner loop bounded by left counter; not unbounded,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/rand.c,209,FP,r set by randit() before write; error path returns early,curl_full_audit_0.4.35,high
API00-C,curl,lib/rand.c,225,FP,data documented NULL-able and passed onward; rnd output buffer,curl_full_audit_0.4.35,high
API00-C,curl,lib/rand.c,225,FP,"rnd is output buffer, written by Curl_hexencode; size validated above",curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.c,225,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
INT14-C,curl,lib/rand.c,237,FP,num&1 / num/2 readability advisory; no defect,curl_full_audit_0.4.35,high
API00-C,curl,lib/rand.c,261,FP,"data documented NULL-able, passed to randit; not deref'd directly",curl_full_audit_0.4.35,high
API05-C,curl,lib/rand.c,261,FP,curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/rand.c,265,FP,"alnum is file-scope array, not a param; sizeof(alnum)=62 correct",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/rand.c,271,FP,loop bounded by num counter; not unbounded,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/rand.c,276,FP,r set by randit() in do-while before use; error path returns,curl_full_audit_0.4.35,high
INT33-C,curl,lib/rand.c,276,FP,"alnumspace = sizeof(alnum)-1 = 62, nonzero constant",curl_full_audit_0.4.35,high
INT33-C,curl,lib/rand.c,278,FP,"alnumspace = 62, nonzero constant",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_ctype.h,27,FP,"ctype-style macro, pure args, advisory; curl-wide idiom, no actual multi-eval bug",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,27,FP,"same macro; advisory inline-function recommendation, pure char args",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,28,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,28,FP,"advisory; pure char args, no side effects",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,33,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,33,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,35,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,35,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,36,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,36,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,37,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,37,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,38,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,38,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,39,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,39,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,40,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,40,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,41,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,41,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,42,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,42,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,43,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,43,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,44,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,44,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,45,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,45,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,46,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,46,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,47,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,47,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,49,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,49,FP,advisory; pure char args,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_ctype.h,50,FP,"ctype macro, pure args, advisory idiom",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ctype.h,50,FP,advisory; pure char args,curl_full_audit_0.4.35,med
DCL37-C,curl,lib/curl_setup.h,93,FP,MSVC-mandated platform shim macro; reserved name required by toolchain,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,195,FP,_THREAD_SAFE is a platform feature-test macro; name dictated by OS,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,206,FP,_REENTRANT platform feature-test macro; name dictated by OS,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,213,FP,_POSIX_PTHREAD_SEMANTICS Solaris feature-test macro; name dictated by OS,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,398,FP,Apple SDK env macro shim; name must match compiler-provided symbol,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,437,FP,__USE_INLINE__ AmigaOS clib macro; name dictated by platform,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,456,FP,_SYS_MBUF_H include-guard suppression for bsdsocket clash; required name,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_setup.h,459,FP,"select()-shaped signature; readfds is in/out fd_set, const impossible",curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,477,FP,__NO_NET_API AmigaOS platform macro; name dictated by platform,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,627,FP,SIZE_MAX standard fallback when limits.h lacks it; name required,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,629,FP,SIZE_MAX standard fallback; name required by standard,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,891,FP,_APP32_64BIT_OFF_T HP-UX platform macro; name dictated by OS headers,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,1009,FP,false fallback on pre-C99 HP-UX lacking stdbool; name required,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,1010,FP,true fallback on pre-C99 HP-UX; standard name required,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,1032,FP,false fallback for non-C99 platforms; standard name required,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/curl_setup.h,1033,FP,true fallback for non-C99 platforms; standard name required,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_setup.h,1039,FP,"BIT(x)->curl_bit x:1; x is bitfield declarator, cannot parenthesize",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_setup.h,1060,FP,"DEBUGF(x)->x; x is a statement, parenthesizing is meaningless/wrong",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_setup.h,1279,FP,"CURLMAX advisory; double-eval is intended min/max idiom, pure args in use",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_setup.h,1279,FP,CURLMAX advisory inline-function recommendation; project idiom,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_setup.h,1280,FP,CURLMIN advisory; intended min/max idiom,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_setup.h,1280,FP,CURLMIN advisory; project idiom,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_setup.h,1285,FP,"STRCONST emits string-literal,len pair; literal-only arg, no eval hazard",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_setup.h,1285,FP,"STRCONST used only with string literals; parenthesizing harmless, no bug",curl_full_audit_0.4.35,high
PRE02-C,curl,lib/curl_setup.h,1285,FP,intentional two-arg expansion; wrapping in parens would break call sites,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_setup.h,1285,FP,literal-only arg; inline-function not applicable to comma-arg helper,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_setup.h,1287,FP,"CURL_ARRAYSIZE uses sizeof only; no runtime multi-eval, advisory",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_setup.h,1287,FP,"sizeof-only macro, no side-effecting eval; advisory",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_setup.h,1319,FP,Curl_safefree known-safe free+NULL idiom; ptr eval benign (per brief),curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_setup.h,1319,FP,"Curl_safefree free+NULL idiom; advisory, known safe",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_setup.h,1360,FP,const char *source not an array param; conformant-array syntax N/A,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_setup.h,1362,FP,const char *source not an array param; suggestion inapplicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_setup.h,1364,FP,"void *ptr / const char *source pointers, not sized arrays; N/A",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_setup.h,1364,FP,pointer params not arrays; conformant-array syntax inapplicable,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_setup.h,1598,FP,"VERBOSE(x)->x; x is a statement, parenthesizing meaningless",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_setup.h,1602,FP,"NOVERBOSE(x)->x; x is a statement, parenthesizing meaningless",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curlx/fopen.c,28,FP,every #if/#elif/#else branch returns; no path falls off end,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/fopen.c,67,FP,str_utf8 is const char* passed to WinAPI; no char-to-int sign extension,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curlx/fopen.c,131,FP,"'needed' set by mbstowcs_s(&needed,...) at line 129 before this check",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curlx/fopen.c,138,FP,"'count' set by mbstowcs_s(&count,...) at line 136 before this check",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/curlx/fopen.c,170,FP,intentional empty branch with '/* do nothing */' comment; documented,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/fopen.c,170,FP,!wcsncmp boolean idiom; idiomatic string-equality test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/fopen.c,172,FP,!wcsncmp boolean idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/fopen.c,174,FP,!wcsncmp boolean idiom; idiomatic,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curlx/fopen.c,173,FP,"fbuf[2]='?'; '?'=0x3F identical wide value, no behavioral defect",curl_full_audit_0.4.35,med
EXP20-C,curl,lib/curlx/fopen.c,174,FP,!wcsncmp boolean idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/fopen.c,181,FP,!wcsncmp boolean idiom; idiomatic,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,195,FP,"temp malloc'd at 187, not freed; wcscpy_s(temp+8,..) on live buffer",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,196,FP,temp freed once only on error branch; not a double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curlx/fopen.c,196,FP,single free on error path then goto cleanup; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,214,FP,"temp malloc'd at 206, live; wcscpy_s on valid buffer",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,215,FP,temp freed once on error branch then goto cleanup; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/curlx/fopen.c,215,FP,single error-path free; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,226,FP,fbuf reassigned to temp at 220-221 (not freed); points to valid buffer,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,233,FP,fbuf is the new live buffer (=temp); not freed before use,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/fopen.c,240,FP,"*out=fbuf where fbuf is heap (malloc'd), not a stack-local address",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,245,FP,cleanup frees fbuf once; success path sets fbuf=NULL first; safe,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curlx/fopen.c,279,FP,handle is the return value of curlx_CreateFile; caller closes it,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,296,FP,"thin Win32 wrapper; NULL filename handled by converter/helper, idiomatic",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,330,FP,target points to live fixed/filename; fixed freed at 333 after use,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,337,FP,"thin Win32 fopen wrapper; NULL handled downstream, idiomatic",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curlx/fopen.c,363,FP,result is the FILE* return value of curlx_win32_fopen; caller closes,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curlx/fopen.c,367,FP,result is returned to caller; not a leak,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,375,FP,"thin freopen wrapper; NULL handled downstream, idiomatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,375,FP,"thin freopen wrapper; fp passed through to freopen_s, no deref",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curlx/fopen.c,401,FP,"'errno' is errno_t from freopen_s, not a FILE*; result returned to caller",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/fopen.c,405,FP,"returns FILE* value 'result', not address of a local variable",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,408,FP,"thin stat wrapper; path handled downstream, idiomatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,408,FP,"thin stat wrapper; buffer passed to _stati64, no direct deref",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curlx/fopen.c,432,FP,target points to live path/fixed; fixed freed at 435 after use,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,444,FP,"thin rename wrapper; oldpath handled downstream, idiomatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/fopen.c,444,FP,"thin rename wrapper; newpath handled downstream, idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cw-out.c,81,FP,curlx_calloc is a curl macro/wrapper from headers sqc cannot resolve,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cw-out.c,93,FP,"curlx_free is a curl macro from headers; declared, not undeclared",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,104,FP,cw_out_init is a Curl_cwtype vtable impl; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,105,FP,vtable callback signature fixed by typedef; const cannot be added,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,122,FP,"ctx traversed; static helper but matches project idiom, low value",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cw-out.c,133,FP,cw_out_close vtable impl; signature fixed by Curl_cwtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,133,FP,vtable callback writer param fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,144,FP,"data only read; helper, but curl idiom does not const params",curl_full_audit_0.4.35,med
API05-C,curl,lib/cw-out.c,145,FP,conformant array syntax; curl never uses C99 array params,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/cw-out.c,174,FP,"cycle is through client callback/pause; bounded, intentional design",curl_full_audit_0.4.35,med
API05-C,curl,lib/cw-out.c,177,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cw-out.c,179,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cw-out.c,190,FP,"wcb is a function-pointer local var call, not undeclared function",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/cw-out.c,221,FP,indirect recursion via callback/pause; bounded by buffer chain,curl_full_audit_0.4.35,med
API05-C,curl,lib/cw-out.c,225,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cw-out.c,248,FP,wcb_data set by cw_get_writefunc out-param before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cw-out.c,253,FP,min_write filled by cw_get_writefunc out-param before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cw-out.c,255,FP,max_write filled by cw_get_writefunc out-param before read,curl_full_audit_0.4.35,high
INT30-C,curl,lib/cw-out.c,260,FP,nwritten<=blen guaranteed (callback returns blen or error checked),curl_full_audit_0.4.35,high
INT30-C,curl,lib/cw-out.c,261,FP,blen-=nwritten with nwritten<=blen verified by cw_out_cb_write,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/cw-out.c,268,FP,bounded callback recursion cycle; intentional,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/cw-out.c,278,FP,dyn_ptr/dyn_len on same buf have no harmful unsequenced side effects,curl_full_audit_0.4.35,high
INT30-C,curl,lib/cw-out.c,293,FP,consumed<dyn_len asserted on this branch; no underflow,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/cw-out.c,302,FP,"recursion bounded by buffer-chain length, not unbounded stack",curl_full_audit_0.4.35,med
EXP40-C,curl,lib/cw-out.c,317,FP,plast is non-const pointer-to-pointer; no const circumvention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cw-out.c,343,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cw-out.c,370,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-out.c,419,FP,cw_out_write is vtable impl; signature fixed by Curl_cwtype typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/cw-out.c,420,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cw-out.c,444,FP,Curl_cwt_out exported via cw-out.h; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cw-out.c,444,FP,exported symbol used by other TUs; file-scope is required,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/cw-out.c,466,FP,"callback recursion cycle; bounded, design-intended",curl_full_audit_0.4.35,med
API00-C,curl,lib/cw-out.c,487,FP,data always valid here; curl exported fns do not NULL-check easy handle,curl_full_audit_0.4.35,med
MSC04-C,curl,lib/cw-out.c,487,FP,bounded callback recursion cycle; intentional,curl_full_audit_0.4.35,med
API00-C,curl,lib/cw-out.c,504,FP,"data always valid; idiomatic curl, no NULL check needed",curl_full_audit_0.4.35,med
ARR02-C,curl,lib/parsedate.c,86,FP,"implicit bounds with initializer; idiomatic table, advisory",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/parsedate.c,89,FP,"implicit bounds with initializer; idiomatic table, advisory",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/parsedate.c,105,FP,implicit bounds with initializer; idiomatic table,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/parsedate.c,117,FP,implicit bounds with initializer; idiomatic tz table,curl_full_audit_0.4.35,high
API05-C,curl,lib/parsedate.c,201,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,212,FP,"strlen(what[0]) operates on char*, not a char value; misfire",curl_full_audit_0.4.35,high
API05-C,curl,lib/parsedate.c,221,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/parsedate.c,239,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/parsedate.c,283,FP,static time2epoch; caller validates monnum 0-11 before call,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/parsedate.c,283,FP,mon constrained 0-11 by parsedate before reaching time2epoch,curl_full_audit_0.4.35,med
STR34-C,curl,lib/parsedate.c,293,FP,"date[0]-'0' guarded by ISDIGIT caller; digit char, no sign issue",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/parsedate.c,295,FP,"*endp=&date[2] is pointer assignment, not flexible-array struct copy",curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,295,FP,"pointer assignment, not a char sign-extension; misfire",curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,295,FP,date[2] indexing on digit string; no signed-char promotion bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,295,FP,char-deref misfire on pointer assignment,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/parsedate.c,298,FP,"*endp=&date[1] pointer assignment, not flexible-array copy",curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,298,FP,"pointer assignment misfire, no char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,298,FP,digit-char return value; no sign-extension defect,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,298,FP,char-deref misfire on pointer indexing,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/parsedate.c,309,FP,p always set by oneortwodigit out-param; never NULL,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/parsedate.c,326,FP,match: label reached via goto; code is reachable,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,330,FP,"*endp=(char*)p pointer cast/assignment, not char sign-extension",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/parsedate.c,363,FP,date dereferenced in loop guard *date already; non-NULL on this path,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/parsedate.c,372,FP,"p=date, date non-NULL in this branch; never NULL",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/parsedate.c,412,FP,num_digits reassigned at line 418; cannot be const,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/parsedate.c,424,FP,indate and date point into the same input string,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/parsedate.c,425,FP,"date[-1] guarded by indate<date, so date>start; valid index",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/parsedate.c,425,FP,date[-1] valid given indate<date guard,curl_full_audit_0.4.35,high
INT10-C,curl,lib/parsedate.c,435,FP,"val is unsigned int; modulo is unsigned, well-defined",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/parsedate.c,439,FP,date[-1] reachable only when indate<date; valid,curl_full_audit_0.4.35,high
INT10-C,curl,lib/parsedate.c,449,FP,val unsigned int; modulo well-defined,curl_full_audit_0.4.35,high
INT10-C,curl,lib/parsedate.c,450,FP,val unsigned int; modulo well-defined,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/parsedate.c,562,FP,curl_getdate is a public exported API symbol,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,565,FP,p is char* passed to parsedate; not a char promotion,curl_full_audit_0.4.35,high
STR34-C,curl,lib/parsedate.c,584,FP,p is char* arg; no signed-char conversion defect,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vauth/ntlm.c,161,FP,DEBUG_OUT(x) is a statement-block wrapper; parenthesizing would be wrong,curl_full_audit_0.4.35,med
EXP07-C,curl,lib/vauth/ntlm.c,182,FP,(1<<10) probes an unknown/reserved NTLM flag bit; idiomatic,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/vauth/ntlm.c,212,FP,(1<<25) probes unknown flag bit in debug print; idiomatic,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/vauth/ntlm.c,214,FP,(1<<26) unknown-flag probe; debug-only idiom,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/vauth/ntlm.c,216,FP,(1<<27) unknown-flag probe; debug-only idiom,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/vauth/ntlm.c,218,FP,(1<<28) unknown-flag probe; debug-only idiom,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/ntlm.c,228,FP,"handle unused (void)handle; debug helper, curl does not const params",curl_full_audit_0.4.35,med
API05-C,curl,lib/vauth/ntlm.c,228,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/ntlm.c,236,FP,"dead debug code (DEBUG_ME=0); hex print of char, char-deref pattern",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vauth/ntlm.c,266,FP,type2 non-NULL: caller memcmp'd it with type2len>=32 before this,curl_full_audit_0.4.35,med
INT08-C,curl,lib/vauth/ntlm.c,270,FP,offset bounded by type2len via prior OR term; sum cannot overflow,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/vauth/ntlm.c,280,FP,"free-then-reassign (curlx_free then memdup), not use-after-free",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/ntlm.c,335,FP,"ntlm always valid from caller; idiomatic curl, no NULL check",curl_full_audit_0.4.35,med
ARR02-C,curl,lib/vauth/ntlm.c,339,FP,type2_marker implicit bounds with initializer; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vauth/ntlm.c,364,FP,type2len<32 short-circuits memcmp; type2 non-NULL when reached,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,382,FP,DEBUG_OUT brace-block; no preprocessor directive in actual call args,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,382,FP,macro-block misparse; no '#' directive inside the call,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/ntlm.c,396,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/ntlm.c,396,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/ntlm.c,423,FP,data param via (void)data; curl idiom does not const easy handle,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vauth/ntlm.c,464,FP,"SHORTPAIR/LONGQUARTET macro args; comma-expr expansion, no side effects",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,502,FP,DEBUG_OUT brace-block misparse; no directive in real call args,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,502,FP,macro-block misfire; no '#' in the call,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/vauth/ntlm.c,592,FP,"no cast-away-const present; memset(ntresp,...) misparse",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/ntlm.c,609,FP,"ntbuffer[0x18] is fixed constant size, not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/ntlm.c,611,FP,"ntlmv2hash[0x18] is fixed constant size, not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/ntlm.c,646,FP,"ntbuffer[0x18] fixed constant size, not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/ntlm.c,647,FP,"lmbuffer[0x18] fixed constant size, not a VLA",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vauth/ntlm.c,682,FP,SHORTPAIR/LONGQUARTET comma-expr macro expansion; no side effects,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vauth/ntlm.c,782,FP,ptr_ntresp = &ntresp[0] or checked ntlmv2resp; non-NULL,curl_full_audit_0.4.35,high
INT30-C,curl,lib/vauth/ntlm.c,783,FP,size+=ntresplen guarded by overflow check at line 776,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,785,FP,DEBUG_OUT brace-block misparse; no directive in call args,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,785,FP,"duplicate of 785 PRE32 misfire; brace-block, no real directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,790,FP,DEBUG_OUT brace-block misparse; no directive in call args,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/vauth/ntlm.c,790,FP,"duplicate of 790 PRE32 misfire; brace-block, no real directive",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/md5.c,212,FP,my_md5_update signature fixed by HMAC_params/MD5_params function-pointer typedef; const cannot be added,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/md5.c,219,FP,my_md5_final signature fixed by function-pointer typedef in vtable,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/md5.c,276,FP,"MD5_F crypto round macro; idiomatic, performance-critical, public-domain reference impl",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/md5.c,276,FP,multiple-eval harmless on pure scalar locals; standard MD5 macro idiom,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/md5.c,277,FP,MD5_G crypto round macro; idiomatic reference implementation,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/md5.c,277,FP,multiple-eval of scalar word; harmless MD5 idiom,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/md5.c,285,FP,MD5_STEP perf-critical round macro; inline fn would defeat reference-impl intent,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/md5.c,285,FP,f param is always a bare macro name (MD5_F etc); parenthesizing would break call f(...),curl_full_audit_0.4.35,med
PRE02-C,curl,lib/md5.c,285,FP,multi-statement macro cannot be parenthesized as expression; advisory misapplied,curl_full_audit_0.4.35,med
PRE10-C,curl,lib/md5.c,285,TP,"multistatement MD5_STEP not do/while-wrapped; safe only because callers append nothing, but technically risky",curl_full_audit_0.4.35,low
PRE11-C,curl,lib/md5.c,285,FP,trailing semicolon intentional; callers invoke without semicolon (statement-list macro),curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md5.c,285,FP,param a is an lvalue updated in place by design; macro idiom,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/md5.c,302,FP,MD5_SET byte-load macro; idiomatic reference impl,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/md5.c,302,FP,n is multiplied (n)*4 already parenthesized in body; warning misreads use,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/md5.c,302,FP,n is a compile-time constant literal at every call site; multiple-eval harmless,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/md5.c,307,FP,MD5_GET(n) uses ctx->block[n] with constant literal n; no precedence hazard,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/md5.c,320,FP,"cast const void* data to const unsigned char*; byte pointer, alignment 1, no over-alignment",curl_full_audit_0.4.35,high
EXP45-C,curl,lib/md5.c,413,FP,do{...}while(size -= 64) is intentional MD5 block loop; size is multiple of 64,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/md5.c,420,FP,"returns ptr which points into caller-owned data buffer, not a local; no automatic storage escape",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/md5.c,442,FP,in is void* (not const) cast to my_md5_ctx*; no const stripped,curl_full_audit_0.4.35,high
INT14-C,curl,lib/md5.c,445,FP,"MD5 counter masking; mixing & and + is the algorithm, advisory readability only",curl_full_audit_0.4.35,high
INT14-C,curl,lib/md5.c,445,FP,len used in + and >> by MD5 spec; idiomatic,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/md5.c,448,FP,">>29 is the MD5 carry computation, not assuming a named constant's value",curl_full_audit_0.4.35,high
API05-C,curl,lib/md5.c,549,FP,curl never uses C99 conformant-array-param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/md5.c,550,FP,stylistic conformant-array advisory; not curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/md5.c,555,FP,"my_md5_init WRITES ctx (initializes a,b,c,d,lo,hi); does not read uninitialized value",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/md5.c,568,FP,"ctxt = curlx_malloc(); assigned before use, guarded by if(!ctxt) return",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/md5.c,571,FP,"ctxt is a heap pointer from malloc, not a local object; returning it is correct",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/md5.c,577,FP,ctxt freed before this NULL return; md5_hashctx not yet allocated; no leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/md5.c,585,FP,both ctxt and md5_hashctx freed on this error path before return NULL,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/md5.c,588,FP,"returns heap-allocated ctxt (the constructor's product), not automatic storage",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/md5.c,588,FP,"success path returns the allocation to caller; ownership transfer, not leak",curl_full_audit_0.4.35,high
API00-C,curl,lib/md5.c,591,FP,Curl_MD5_update is internal; callers pass valid context; siblings do not NULL-check either,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/md5.c,591,FP,context IS modified: hashctx updated via update_func through the pointer,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vtls/cipher_suite.c,134,FP,"[adv] CS_ZIP_IDX multi-evals a..h; used only with compile-time constant idx names, so harmless in practice",curl_full_audit_0.4.35,adversarial-flip
PRE02-C,curl,lib/vtls/cipher_suite.c,134,FP,"macro expands to a brace-enclosed initializer list, not an expression; cannot be parenthesized",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/vtls/cipher_suite.c,134,FP,b etc are constant CS_TXT_IDX_* enum names; multiple eval harmless,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vtls/cipher_suite.c,143,FP,CS_ENTRY id used only as struct initializer field; parenthesizing not meaningful,curl_full_audit_0.4.35,high
PRE05-C,curl,lib/vtls/cipher_suite.c,143,FP,## intentionally pastes CS_TXT_IDX_ prefix onto literal tokens; expansion-before-paste not desired,curl_full_audit_0.4.35,med
ARR02-C,curl,lib/vtls/cipher_suite.c,160,FP,"cs_list[] size inferred from initializer; idiomatic and correct, CS_LIST_LEN uses ARRAYSIZE",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/cipher_suite.c,542,FP,stylistic conformant-array param advisory; not curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/cipher_suite.c,568,FP,entry is const char* passed to strlen; no char-to-int sign-extension occurs,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vtls/cipher_suite.c,577,FP,"while(nxt<end && *(nxt++)) has a sequence point at &&; single modification of nxt, well-defined",curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/cipher_suite.c,582,FP,"indexes are <CS_TXT_LEN (small), masked &0x3F; deliberate 6-bit pack into uint8_t, no real loss",curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/cipher_suite.c,585,FP,"same deliberate bit-packing; values bounded and masked, cast intentional",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/cipher_suite.c,590,FP,conformant-array stylistic advisory; not curl convention,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,600,FP,"zip is a uint8_t[6] local array, not a FILE stream; rule wholly misapplied",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,600,FP,"zip[0] is an array element, not a file stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,601,FP,"zip is a byte array, not a FILE*; misapplied",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,601,FP,"byte-array element, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,602,FP,"zip is uint8_t[6], not a FILE*; misapplied",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,602,FP,"byte-array element, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,604,FP,"zip byte array, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,604,FP,"byte-array element, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,605,FP,"zip byte array, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,605,FP,"byte-array element, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,606,FP,"zip byte array, not a stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/cipher_suite.c,606,FP,"byte-array element, not a stream",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/cipher_suite.c,617,FP,entry is const char* used in strlen; no signed-char widening,curl_full_audit_0.4.35,med
API05-C,curl,lib/vtls/cipher_suite.c,635,FP,conformant-array stylistic advisory; not curl convention,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vtls/cipher_suite.c,670,FP,"no flexible-array struct here; (*end)++ pointer advance in for-loop, misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/cipher_suite.c,670,FP,*end[0] is char compared in cs_is_separator(char); no widening assignment to larger type,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/cipher_suite.c,670,FP,*str[0] passed to cs_is_separator(char); no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/cipher_suite.c,670,FP,char deref used as char arg; duplicate misfire,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/cipher_suite.c,673,FP,*end and *str both point into the same caller string; end>=str by construction,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/cipher_suite.c,676,FP,conformant-array stylistic advisory; not curl convention,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/cipher_suite.c,680,FP,r is reassigned at line 694 (r = cs_zip_to_str(...)); not const-eligible,curl_full_audit_0.4.35,high
EXP00-C,curl,lib/vtls/cipher_suite.c,685,FP,zip[0]>>2 != CONST grouped correctly by C precedence; explicit parens around comparison present,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/file.c,89,FP,file_cleanup frees freepath then checks file->fd (different member); fd not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/file.c,90,FP,curlx_close(file->fd) on the int fd member; not the freed freepath,curl_full_audit_0.4.35,high
API05-C,curl,lib/file.c,95,FP,file_easy_dtor signature fixed by hash-dtor function-pointer typedef; conformant-array N/A,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/file.c,95,FP,"file_easy_dtor is a hash dtor callback; signature fixed by typedef, const not addable",curl_full_audit_0.4.35,high
API05-C,curl,lib/file.c,95,FP,callback signature fixed; conformant-array advisory N/A,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/file.c,101,FP,"file_cleanup frees file->freepath (member); curlx_free(file) frees the struct; distinct, no double free",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/file.c,105,FP,file_setup_connection signature fixed by Curl_protocol vtable; conn unused but typedef-bound,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/file.c,110,FP,filep = curlx_calloc(...); assigned before any use; guarded by if(!filep),curl_full_audit_0.4.35,high
EXP36-C,curl,lib/file.c,121,FP,Curl_meta_get returns void* to a calloc'd FILEPROTO (suitably aligned); no real alignment violation,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/file.c,139,FP,meta_get returns properly-aligned calloc'd struct; alignment fine,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/file.c,218,FP,real_path only freed on the binary-zero error path that returns; read at 218 occurs before any free,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/file.c,218,FP,real_path is checked non-NULL via Curl_urldecode result==0 contract; AMIGA-only branch,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/file.c,219,FP,"__unix_path_semantics is an external libnix symbol (AmigaOS -lunix); name dictated by the lib, not curl",curl_full_audit_0.4.35,high
DCL37-C,curl,lib/file.c,219,FP,extern symbol provided by Amiga libnix; cannot be renamed,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/file.c,231,FP,fd stored into file->fd / file->freepath; closed later by file_cleanup/file_done; not leaked,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/file.c,242,FP,fd is saved in file->fd before this return; file_done() at 241 closes it; no leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/file.c,246,FP,fd persisted into file->fd (connection state); closed at disconnect; not a leak,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/file.c,250,FP,file_disconnect signature fixed by Curl_protocol vtable typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/file.c,265,FP,"file_upload writes file->fd/path indirectly and reads file->path; not a pure-const candidate, internal helper",curl_full_audit_0.4.35,high
INT14-C,curl,lib/file.c,296,FP,"_S_IREAD|_S_IWRITE bitwise on perms then & ; idiomatic permission flags, readability advisory only",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/file.c,301,FP,fd from curlx_open is closed at out: (line 370) and on every error return in file_upload,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/file.c,305,FP,this return is the fd<0 branch (open failed); nothing to close,curl_full_audit_0.4.35,high
INT18-C,curl,lib/file.c,308,FP,"infilesize is curl_off_t (signed); != -1 compares signed to signed, no unsigned wrap",curl_full_audit_0.4.35,med
MEM12-C,curl,lib/file.c,317,FP,fd explicitly curlx_close(fd) at line 315 before this return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/file.c,373,FP,fd closed at out: label (370) reached by all paths via goto/fallthrough,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/file.c,391,FP,meta_get returns aligned calloc'd FILEPROTO; no real alignment issue,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/file.c,430,FP,"static const char accept_ranges[] sized by string initializer; idiomatic, sizeof used",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/file.c,485,FP,"resume_from += st_size: plain curl_off_t addition, no sizeof scaling; rule misfire",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/file.c,547,FP,xfer_buf from Curl_multi_xfer_buf_borrow checked via result; guarded reachable only when borrow succeeded,curl_full_audit_0.4.35,high
EXP45-C,curl,lib/file.c,574,FP,while((entry = readdir(dir))) is idiomatic readdir loop; intentional assignment in condition,curl_full_audit_0.4.35,high
CON34-C,curl,lib/file.c,574,FP,file_do is per-easy-handle single-threaded directory listing; readdir static buffer not shared across threads here,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/file.c,626,FP,Curl_scheme_file has external linkage by design (referenced by the scheme registry),curl_full_audit_0.4.35,high
DCL19-C,curl,lib/file.c,626,FP,exported scheme table must be file-scope/external; cannot be function-local,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,63,FP,src is non-NULL form node from caller loop,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/formdata.c,102,FP,"post is heap (calloc), not automatic storage",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,144,FP,form_info guarded by if(!form||...) before call,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,216,FP,first_form fields written via FormInfoCopyField; not const,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/formdata.c,290,FP,form nesting bounded; stack-exhaustion advisory only,curl_full_audit_0.4.35,med
MSC04-C,curl,lib/formdata.c,290,TP,free_chain is factual direct recursion,curl_full_audit_0.4.35,low
MSC39-C,curl,lib/formdata.c,302,FP,caller does not reuse va_list; va_end called correctly,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/formdata.c,312,FP,macro param t is a type; no side-effect multi-eval,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/formdata.c,312,FP,"param t is a type token, harmless",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/formdata.c,314,FP,macro param t is a type; no side-effect multi-eval,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/formdata.c,314,FP,"param t is a type token, harmless",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/formdata.c,316,FP,macro param t is a type; no side-effect multi-eval,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/formdata.c,316,FP,"param t is a type token, harmless",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,447,FP,form guarded by if(!form||...) before AddFormInfo,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,523,FP,form guarded by if(!form||...) before AddFormInfo,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/formdata.c,581,FP,->more read before free; standard list teardown,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/formdata.c,582,FP,each node freed once in list walk,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,596,FP,free_chain while(c) loop is NULL-safe,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/formdata.c,638,FP,"distinct args (NULL,&toppart,form,NULL); no aliasing",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/formdata.c,640,FP,distinct args; no restrict aliasing,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/formdata.c,665,FP,curl_formfree recursion bounded by form nesting,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/formdata.c,679,FP,form->flags read; form not freed until later,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/formdata.c,681,FP,form->flags read; form freed only at end,curl_full_audit_0.4.35,high
API05-C,curl,lib/formdata.c,692,FP,curl never uses C99 array-param syntax (convention),curl_full_audit_0.4.35,high
EXP34-C,curl,lib/formdata.c,698,FP,guarded if(!name||!len); callee handles NULL name,curl_full_audit_0.4.35,high
API00-C,curl,lib/formdata.c,717,FP,data documented as nullable; mime_init handles NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,719,FP,post is reassigned loop var; curl convention,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/formdata.c,785,FP,"!strcmp idiom, idiomatic",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,844,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,845,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,852,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,852,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/formdata.c,861,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,35,TP,"static helper, never writes hs, not a fn-ptr",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/headers.c,38,FP,e stored into non-const h->anchor; const would not compile,curl_full_audit_0.4.35,med
DCL00-C,curl,lib/headers.c,41,FP,h is written through (h->name=...); not const-able,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/headers.c,42,FP,hs always non-NULL from list elem in caller,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/headers.c,50,FP,deliberate reserved-bit OR; advisory magic-number,curl_full_audit_0.4.35,high
API00-C,curl,lib/headers.c,55,FP,function checks !data at line 69,curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.c,56,FP,curl array-param-syntax convention,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/headers.c,116,FP,plain pointer assign *hout=&...; no flexible-array copy,curl_full_audit_0.4.35,high
API00-C,curl,lib/headers.c,121,TP,derefs easy at L133 with no NULL check; sibling curl_easy_header checks it,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/headers.c,124,FP,prev is public API signature; fixed type,curl_full_audit_0.4.35,med
API05-C,curl,lib/headers.c,181,FP,curl array-param-syntax convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,181,FP,namevalue writes *header++=0; header is modified,curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.c,182,FP,out-param char**; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.c,182,FP,out-param char**; convention,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/headers.c,186,FP,"*name set to header pointing into heap hs->buffer, not local",curl_full_audit_0.4.35,high
STR34-C,curl,lib/headers.c,186,FP,"*name is char** assign of pointer, not char read",curl_full_audit_0.4.35,high
STR34-C,curl,lib/headers.c,200,FP,*header++=0 writes 0; no signed-char sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/headers.c,208,FP,"*value set to interior heap pointer, not local addr",curl_full_audit_0.4.35,high
STR34-C,curl,lib/headers.c,208,FP,"*value is char** pointer assign, not char read",curl_full_audit_0.4.35,high
STR34-C,curl,lib/headers.c,212,FP,*end--=0 writes 0; no sign extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/headers.c,221,FP,hlen sized by trusted callback; bounded by MAX header count,curl_full_audit_0.4.35,med
API05-C,curl,lib/headers.c,221,FP,curl array-param-syntax convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/headers.c,259,FP,hs assigned by calloc then NULL-checked before deref,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/headers.c,263,FP,buffer[1] + hlen alloc; buffer[hlen] is in-bounds,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,297,FP,writer is cwriter vtable callback signature; fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.c,298,FP,cwriter callback signature; convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/headers.c,324,FP,internal fn; data always valid; derefs but no caller passes NULL,curl_full_audit_0.4.35,med
API00-C,curl,lib/headers.c,351,FP,internal cleanup; data always valid,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/headers.c,367,FP,disabled-build stub param; (void) cast,curl_full_audit_0.4.35,high
API05-C,curl,lib/headers.c,368,FP,disabled-build stub; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,372,FP,disabled-build stub param,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,383,FP,disabled-build stub param,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/headers.c,386,FP,disabled-build stub param,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,35,FP,callers pass non-NULL (ipfs_path_c/gwpath validated),curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_ipfs.c,35,FP,char compared to char literal; no widening read,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_ipfs.c,41,FP,ipfs_path_c reassigned later (L50/56); not const,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_ipfs.c,42,FP,gateway_composed_c assigned at L61; not init-const,curl_full_audit_0.4.35,high
ENV34-C,curl,src/tool_ipfs.c,44,FP,getenv result used immediately then strdup'd; no overwrite risk,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_ipfs.c,44,FP,checked via if(gateway_env) at L46,curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_ipfs.c,44,FP,CLI tool single-thread; thread-safety advisory,curl_full_audit_0.4.35,med
ENV34-C,curl,src/tool_ipfs.c,53,FP,home used immediately in maprintf; no later getenv,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_ipfs.c,53,FP,checked via if(home && *home),curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_ipfs.c,53,FP,CLI tool single-thread advisory,curl_full_audit_0.4.35,med
ENV30-C,curl,src/tool_ipfs.c,63,FP,"ipfs_path_c is allocated (curl_getenv/maprintf), not getenv static",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_ipfs.c,68,FP,gfile closed on both success (L88) and fail (L94),curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_ipfs.c,68,FP,"gfile is FILE*, closed via curlx_fclose on all paths",curl_full_audit_0.4.35,high
FIO34-C,curl,src/tool_ipfs.c,78,FP,line read loop; EOF/newline break; ferror advisory only,curl_full_audit_0.4.35,med
EXP30-C,curl,src/tool_ipfs.c,78,FP,single assignment to c then compared; sequence point at &&,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_ipfs.c,78,FP,no unsequenced modify; one assign per iteration,curl_full_audit_0.4.35,high
FIO34-C,curl,src/tool_ipfs.c,78,FP,c declared int at L72; EOF distinguishable,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_ipfs.c,78,FP,c assigned in while condition before use,curl_full_audit_0.4.35,high
INT31-C,curl,src/tool_ipfs.c,79,FP,explicit (char) cast of a file byte (0-255),curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_ipfs.c,87,FP,"ipfs_path_c allocated, not getenv static; curl_free safe",curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_ipfs.c,95,FP,"ipfs_path_c allocated, not getenv static buffer",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_ipfs.c,103,FP,tool fn; protocol always valid caller-side,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_ipfs.c,103,FP,tool fn; config always valid caller-side,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_ipfs.c,104,FP,config read-only but tool fn signature convention,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_ipfs.c,186,FP,*inputpath='\0' writes 0; no signed-char read,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,188,FP,gwpath set by checked curl_url_get PATH; non-NULL here,curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_ipfs.c,189,FP,gwpath non-NULL after successful url_get at L170,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_ipfs.c,203,FP,"*url pointer assign, not char read",curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,212,FP,curl_free is NULL-safe (free wrapper),curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,213,FP,curl_free NULL-safe,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,214,FP,curl_free NULL-safe,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,216,FP,curl_free NULL-safe,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ipfs.c,217,FP,curl_free NULL-safe,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/escape.c,36,FP,curl_escape is public ABI-exported API; cannot be static,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/escape.c,42,FP,curl_unescape is public ABI-exported API; cannot be static,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/escape.c,44,FP,"distinct args (NULL,string,length,NULL); no aliasing of restrict params",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/escape.c,50,FP,curl_easy_escape is public exported API; cannot be static,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/escape.c,50,FP,"fixed public API signature; data param ignored, const not allowed",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/escape.c,61,FP,curlx_strdup provided via curlx header/macro; declared,curl_full_audit_0.4.35,high
STR00-C,curl,lib/escape.c,79,FP,"unsigned char out[3]={'%'} is idiomatic byte buffer, not a string",curl_full_audit_0.4.35,high
API00-C,curl,lib/escape.c,105,FP,DEBUGASSERT(string); internal callers guarantee non-null,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.c,105,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.c,106,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/escape.c,115,FP,string DEBUGASSERTed non-null; callers guard before call,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/escape.c,116,FP,curlx_malloc provided via curlx header/macro; declared,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/escape.c,122,FP,"ns holds heap malloc, not a local address; *ostring=ns valid",curl_full_audit_0.4.35,high
STR34-C,curl,lib/escape.c,122,FP,"*ostring=ns is pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/escape.c,124,FP,while(alloc) bounded by decrementing counter; not unbounded,curl_full_audit_0.4.35,high
INT31-C,curl,lib/escape.c,129,FP,"hexval 0-15; (<<4)|hexval yields 0-255, fits unsigned char",curl_full_audit_0.4.35,high
INT14-C,curl,lib/escape.c,129,FP,"string is pointer index, not mixed bitwise/arithmetic value",curl_full_audit_0.4.35,high
STR34-C,curl,lib/escape.c,145,FP,*ns++=(char)in stores unsigned char value; idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/escape.c,147,FP,*ns=0 terminator; no sign-extension issue,curl_full_audit_0.4.35,high
API00-C,curl,lib/escape.c,163,FP,"olen is optional out-param, guarded by if(olen) before use",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/escape.c,163,FP,curl_easy_unescape is public exported API; cannot be static,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/escape.c,163,FP,"fixed public API signature; data ignored, const not allowed",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/escape.c,176,FP,outputlen set by Curl_urldecode via &outputlen; only read after success,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/escape.c,183,FP,str is pointer to heap memory; returning pointer value is correct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/escape.c,183,FP,Curl_safefree nulls str; returns NULL not freed pointer,curl_full_audit_0.4.35,high
API00-C,curl,lib/escape.c,189,FP,curl_free(NULL) is well-defined; no validation needed,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/escape.c,189,FP,curl_free is public exported API; cannot be static,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/escape.c,191,FP,curlx_free provided via curlx header/macro; declared,curl_full_audit_0.4.35,high
API00-C,curl,lib/escape.c,200,FP,len guarded by DEBUGASSERT and runtime if(src&&len&&olen>=3),curl_full_audit_0.4.35,high
API00-C,curl,lib/escape.c,200,FP,olen guarded by DEBUGASSERT and runtime check before use,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.c,200,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/escape.c,201,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
DCL38-C,curl,lib/bufq.h,38,TP,uint8_t data[1] used as flexible array; DCL38 prefers []; intentional struct-hack,curl_full_audit_0.4.35,low
STR31-C,curl,lib/bufq.h,39,FP,"void *dummy is alignment pointer in union, not a string buffer",curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,166,FP,len size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,167,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,170,FP,len size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,171,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,178,FP,len size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,178,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,179,FP,pnread is out-param written by function; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,181,FP,len size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,181,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,182,FP,pnread is out-param written by function; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,193,FP,plen size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,194,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,196,FP,plen size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,197,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,218,FP,writer callback + ctx; not a sized array; misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,219,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,233,FP,reader callback + ctx; not a sized array; misfire,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,233,FP,reader is a function-pointer typedef; const not meaningful,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,234,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,234,FP,reader_ctx is opaque callback context; const not applicable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,234,FP,pnread is out-param written by function; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,242,FP,max_len + reader callback; not a sized array; misfire,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,243,FP,reader is a function-pointer typedef; const not meaningful,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,243,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,243,FP,reader_ctx is opaque callback context; const not applicable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.h,244,FP,pnread is out-param written by function; cannot be const,curl_full_audit_0.4.35,high
API02-C,curl,lib/bufq.h,253,FP,len size param already present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,254,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.h,255,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_sasl.c,53,FP,mechtable[] sized by initializer list; idiomatic table,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sasl.c,81,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sasl.c,111,FP,conformant array syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curl_sasl.c,124,FP,!strncmp idiom for option matching; idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_sasl.c,128,FP,mechlen set by decode_mech via &mechlen; read only when mechbit nonzero,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_sasl.c,142,FP,internal init fn; data always valid from protocol callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/curl_sasl.c,142,FP,data read-only here but curl convention keeps Curl_easy non-const,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_sasl.c,188,FP,names[] debug state-name table sized by initializer; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,223,FP,"sasl read via sasl->params; curl convention non-const, vtable-style",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curl_sasl.c,232,TP,Curl_bufref_ptr may return NULL on empty success msg; *serverdata derefs NULL,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/curl_sasl.c,248,FP,sasl read via sasl->params; curl convention non-const,curl_full_audit_0.4.35,high
STR30-C,curl,lib/curl_sasl.c,254,FP,Curl_bufref_set stores const ptr with NULL free cb; literal not modified,curl_full_audit_0.4.35,high
STR30-C,curl,lib/curl_sasl.c,256,FP,Curl_bufref_set stores const ptr with NULL free cb; literal not modified,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/curl_sasl.c,261,FP,bufref getters have no shared side effects; order irrelevant,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,276,FP,sasl read-only but curl convention keeps these non-const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,276,FP,data read-only but curl convention keeps Curl_easy non-const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,300,FP,"data used in choose-helper, convention non-const, parallel signatures",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,389,FP,data (void)cast; parallel sasl_choose_* signatures require non-const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,468,FP,parallel sasl_choose_* signatures require uniform non-const data,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,488,FP,parallel sasl_choose_* signatures require uniform non-const data,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,505,FP,parallel sasl_choose_* signatures require uniform non-const data,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_sasl.c,525,FP,internal entrypoint; data always valid from protocol state machine,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/curl_sasl.c,525,FP,function ends with return sctx.result; all paths return,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/curl_sasl.c,545,FP,"#ifdef is inside || operand chain of real functions, not a macro call arg",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/curl_sasl.c,548,FP,"#ifdef inside || chain of sasl_choose_* calls, not inside memset",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/curl_sasl.c,551,FP,"#ifdef inside || chain of sasl_choose_* calls, not inside memset",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/curl_sasl.c,554,FP,"#ifdef inside || chain of sasl_choose_* calls, not inside memset",curl_full_audit_0.4.35,high
STR30-C,curl,lib/curl_sasl.c,789,FP,Curl_bufref_set stores const ptr with NULL free cb; literal not modified,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_sasl.c,594,FP,internal state-machine fn; data always valid from callers,curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_sasl.c,871,FP,"data largely (void)cast; internal, callers guarantee valid",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sasl.c,871,FP,sasl read-only in verbose branch but curl convention non-const,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_trc.h,54,FP,"Curl_debug(const char*ptr,size_t size); curl never uses array syntax",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,138,FP,"infof guard macro; data is side-effect-free pointer, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,138,FP,infof needs verbose-guard short-circuit; inline fn cannot replace varargs macro,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,143,FP,"CURL_TRC_M guard macro; data side-effect-free pointer, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,143,FP,"verbose-guard varargs logging macro; intentional, inline cannot replace",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,148,FP,"CURL_TRC_CF guard macro; pointers side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,148,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,153,FP,"CURL_TRC_WRITE guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,153,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,158,FP,"CURL_TRC_READ guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,158,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,163,FP,"CURL_TRC_DNS guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,163,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,168,FP,"CURL_TRC_TIMER guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,168,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,175,FP,"CURL_TRC_FTP guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,175,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,182,FP,"CURL_TRC_SMTP guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,182,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,189,FP,"CURL_TRC_SSLS guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,189,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,196,FP,"CURL_TRC_SSH guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,196,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,203,FP,"CURL_TRC_WS guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,203,FP,verbose-guard varargs logging macro; intentional design,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,311,FP,"Curl_trc_is_verbose predicate macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,311,FP,"verbose-check predicate macro; data is pointer, multi-eval harmless",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,315,FP,"Curl_trc_cf_is_verbose predicate macro; cf side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,315,FP,"verbose-check predicate macro; cf is pointer, multi-eval harmless",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_trc.h,322,FP,"CURL_TRC_EASY_TIMERS guard macro; data side-effect-free, multi-eval harmless",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_trc.h,322,FP,verbose-guard logging macro; intentional design,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftplistparser.c,175,FP,const-param on fixed callback/exported signature; categorical FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftplistparser.c,181,FP,thin/exported wrapper; params validated by caller or DEBUGASSERT; categorical,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftplistparser.c,224,FP,thin/exported wrapper; params validated by caller or DEBUGASSERT; categorical,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftplistparser.c,224,FP,const-param on fixed callback/exported signature; categorical FP,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,248,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,251,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,267,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,270,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,286,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/ftplistparser.c,289,FP,"permission bit-flag construction 1<<n is idiomatic, not magic-value assumption",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,411,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/ftplistparser.c,412,FP,!strncmp idiom comparing prefix; idiomatic boolean test,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,447,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftplistparser.c,485,FP,writing 0 (NUL terminator) into char buffer; no sign extension,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,485,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,523,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,552,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,587,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,664,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,705,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,776,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftplistparser.c,920,FP,mem=dyn_ptr after dyn_addn adds a byte; buffer non-empty so non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftplistparser.c,1013,FP,thin/exported wrapper; params validated by caller or DEBUGASSERT; categorical,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftplistparser.c,1013,FP,thin/exported wrapper; params validated by caller or DEBUGASSERT; categorical,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftplistparser.c,1013,FP,thin/exported wrapper; params validated by caller or DEBUGASSERT; categorical,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftplistparser.c,1013,FP,C99 array-param syntax; curl never uses; advisory FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftplistparser.c,1013,FP,const-param on fixed callback/exported signature; categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftplistparser.c,1014,FP,C99 array-param syntax; curl never uses; advisory FP,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/ftplistparser.c,1040,FP,"loop-body char c read once per iter; trivial advisory, not actionable",curl_full_audit_0.4.35,med
MEM31-C,curl,lib/ftplistparser.c,1043,FP,parser->file_data freed in fail: label and by data_free cleanup,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/ftplistparser.c,1080,FP,"code after return is the fail: goto target; reachable, not dead",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,124,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,129,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,133,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,137,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,142,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http_proxy.c,146,FP,intentional empty if/else-if chain skipping headers; deliberate no-op,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_proxy.c,154,FP,curlx_str/curlx_strlen read &name only; no unsequenced modification,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,165,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_proxy.c,173,FP,"*phostname assigned a const char* pointer, not a char; analyzer misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_proxy.c,175,FP,"*phostname assigned a const char* pointer, not a char; analyzer misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_proxy.c,177,FP,"*phostname assigned a const char* pointer, not a char; analyzer misparse",curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,197,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,197,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_proxy.c,212,FP,out-param set unconditionally by get_destination before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_proxy.c,212,FP,hostname set unconditionally by get_destination; non-NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_proxy.c,213,FP,out-param set unconditionally by get_destination before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_proxy.c,226,FP,req non-NULL after successful Curl_http_req_make (result checked),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_proxy.c,233,FP,!Curl_checkProxyheaders/!strcmp idiom; idiomatic boolean,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_proxy.c,246,FP,!Curl_checkProxyheaders/!strcmp idiom; idiomatic boolean,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_proxy.c,255,FP,!Curl_checkProxyheaders/!strcmp idiom; idiomatic boolean,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http_proxy.c,269,FP,"req is heap pointer from Curl_http_req_make, not stack address",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_proxy.c,301,FP,!Curl_checkProxyheaders/!strcmp idiom; idiomatic boolean,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_proxy.c,308,FP,!Curl_checkProxyheaders/!strcmp idiom; idiomatic boolean,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,354,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,354,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,354,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,354,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_proxy.c,354,FP,const-param on exported/cfilter signature; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_proxy.c,366,FP,"*phostname assigned a const char* pointer, not a char; analyzer misparse",curl_full_audit_0.4.35,high
API00-C,curl,lib/http_proxy.c,413,FP,params guarded by DEBUGASSERT or set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_proxy.c,414,FP,const-param on exported/cfilter signature; categorical FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/socks_gssapi.c,101,FP,exported entry; cf set by caller; categorical wrapper FP,curl_full_audit_0.4.35,high
STR34-C,curl,lib/socks_gssapi.c,124,FP,serviceptr char read in strlen/strchr context; no sign-extension bug,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,271,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,277,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,280,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,286,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,289,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,306,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,316,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,380,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,393,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,407,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,416,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,426,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,435,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,443,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,450,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,458,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,460,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,462,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,467,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,470,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,479,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,484,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,486,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,494,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,504,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,507,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,510,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks_gssapi.c,511,FP,Curl_safefree NULLs ptr after free; no UAF/double-free possible,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks_gssapi.c,526,FP,gss buffers released on every error path; no genuine leak,curl_full_audit_0.4.35,high
EXP37-C,curl,src/tool_setopt.h,102,FP,properly prototyped variadic tool_setopt_ptr declaration; legitimate,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,104,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,104,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,104,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,105,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,105,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,105,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,106,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,106,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,106,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,107,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,107,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,107,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,108,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,108,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,108,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,109,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,109,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,109,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,110,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,110,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,110,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,111,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,111,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,111,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,113,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,113,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,113,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.h,118,FP,setopt macro arg y is always an option-name constant; no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.h,118,FP,# / ## on y is intentional (literal token / setopt_nv_ paste); correct,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.h,118,FP,#y is stringification not evaluation; y evaluated once; no multiple-eval risk,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/url.c,39,FP,Windows SDK header name; not curl-controlled,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,180,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,184,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,185,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/url.c,212,FP,Indirect recursion via DoH sub-handle cleanup is intentional and bounded,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/url.c,222,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,244,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,244,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,248,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,249,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,251,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,258,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,258,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,262,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,265,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,265,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,267,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,268,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,268,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,271,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,271,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,272,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,275,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,275,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,276,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,276,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,276,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,277,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,278,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,283,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,284,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,285,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,287,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,290,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,292,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,292,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,296,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,298,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,298,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,300,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,300,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,301,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,301,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,302,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,302,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,303,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,303,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,304,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,304,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,305,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,305,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,307,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,307,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,310,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,310,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,312,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,312,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,313,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,313,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,315,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,315,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,316,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,316,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,320,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,320,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,321,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,325,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,327,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,328,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,328,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,329,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,329,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/url.c,399,FP,0755/0644 intentional Unix file-permission octal,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/url.c,402,FP,0755/0644 intentional Unix file-permission octal,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,458,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,480,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/url.c,511,FP,"Out-param assigned heap pointer (curlx_strdup/memdup0), not local address",curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,515,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,515,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/url.c,521,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,534,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,535,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,536,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,537,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,538,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,538,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,539,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,539,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,546,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,547,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,557,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,559,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,559,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,655,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,655,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/url.c,771,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,772,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,849,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,877,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,901,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,960,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,980,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1037,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1038,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1062,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1103,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1117,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1185,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1390,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1443,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/url.c,1462,FP,Code after return is a goto label target; reachable,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1464,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1465,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,1469,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/url.c,1471,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.c,1477,FP,Advisory C99 array-param syntax; curl never uses it,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/url.c,1528,FP,Value reassigned in loop or freed; const not applicable,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/url.c,1529,FP,Loop bounded by len (<=7) or counter; not unbounded,curl_full_audit_0.4.35,high
INT14-C,curl,lib/url.c,1530,FP,Bitwise+arith in hash function is intentional,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,1531,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/url.c,1532,FP,"s is local char*, not a struct member; normal pointer walk",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/url.c,1554,FP,Intentional empty if-arm with else fallthrough (commented),curl_full_audit_0.4.35,med
EXP33-C,curl,lib/url.c,1605,FP,"Set by out-param/calloc then guarded, or macro-opacity branch merge",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1651,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1651,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1651,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1651,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1654,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1660,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1661,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1661,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1661,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1661,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1662,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1663,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1664,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1664,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1664,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1664,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1667,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1667,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1667,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1667,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1672,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1672,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1672,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1672,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1675,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1675,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1677,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1677,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1679,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1687,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1687,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1687,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1687,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1690,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1690,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1690,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1690,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1690,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1694,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1694,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1694,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1694,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1694,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1696,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1696,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1696,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1696,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1699,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1699,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1699,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1699,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1700,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1703,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1703,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1703,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1705,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1712,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1715,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1719,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1733,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1733,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1733,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1733,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1733,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1735,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1735,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1737,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1737,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
STR30-C,curl,lib/url.c,1738,FP,curl_url_set takes const char*; literal not modified,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1741,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1741,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1741,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1746,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1746,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1746,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1746,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1746,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1751,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1751,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1751,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1751,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1752,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1757,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1757,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1757,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1757,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1757,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1765,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1765,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1765,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1765,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1765,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1766,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1766,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1766,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1766,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1766,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1769,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1769,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1769,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1769,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1775,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1775,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1775,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1775,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1775,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1778,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1784,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1784,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1784,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1784,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1784,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1788,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1788,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1788,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1788,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1788,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1791,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1791,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1791,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1791,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1797,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1797,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1797,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1797,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1797,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1798,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1806,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1806,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1806,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1806,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1806,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1809,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1809,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1809,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1809,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1809,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1816,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1816,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1816,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1816,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1816,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1820,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1820,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1820,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1820,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1820,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1824,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1824,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1824,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1824,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1830,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1830,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1830,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1830,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1831,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1831,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1833,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1833,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1833,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1834,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1834,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1841,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1841,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1841,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1841,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1841,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1846,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1846,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1848,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1848,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1858,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1864,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1866,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1867,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,1869,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,1871,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/url.c,1934,FP,"In-place str{lower,upper} with overlapping src==dst is documented behavior",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,1949,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/url.c,1972,FP,"Set by out-param/calloc then guarded, or macro-opacity branch merge",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/url.c,1994,FP,"In-place str{lower,upper} with overlapping src==dst is documented behavior",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/url.c,2012,FP,"Set by out-param/calloc then guarded, or macro-opacity branch merge",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/url.c,2084,FP,Intentional empty if-arm with else fallthrough (commented),curl_full_audit_0.4.35,med
DCL31-C,curl,lib/url.c,2132,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2140,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2166,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
INT30-C,curl,lib/url.c,2217,FP,host non-empty after url_get; len-1 in bounds,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,2242,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/url.c,2247,FP,Sensitive-clear advisory on const literals / local; not a real issue,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/url.c,2257,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/url.c,2326,FP,"curl_getenv returns malloc copy, not env ptr; safefree valid",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2331,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,2337,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2341,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2343,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2400,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2401,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2401,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2401,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2402,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2405,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2414,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2414,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2414,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2414,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2414,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2416,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2416,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2418,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2419,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2420,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2421,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2422,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2425,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,2430,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/url.c,2431,FP,Distinct cleanup fns free different members; Curl_safefree nulls; no double-free,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,2466,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,2466,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,2466,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,2466,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API05-C,curl,lib/url.c,2466,FP,Advisory C99 array-param syntax; curl never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.c,2467,FP,Advisory C99 array-param syntax; curl never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.c,2467,FP,Advisory C99 array-param syntax; curl never uses it,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.c,2468,FP,Advisory C99 array-param syntax; curl never uses it,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,2515,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2519,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/url.c,2521,FP,"Out-param assigned heap pointer (curlx_strdup/memdup0), not local address",curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2521,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/url.c,2522,FP,"Out-param assigned heap pointer (curlx_strdup/memdup0), not local address",curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2522,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/url.c,2524,FP,Code after return is a goto label target; reachable,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2525,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2526,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,2538,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/url.c,2561,FP,Loop bounded by len (<=7) or counter; not unbounded,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/url.c,2579,FP,Taking address of non-const struct member to modify it,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/url.c,2580,FP,Sensitive-clear advisory on const literals / local; not a real issue,curl_full_audit_0.4.35,med
EXP40-C,curl,lib/url.c,2580,FP,Taking address of non-const struct member to modify it,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/url.c,2581,FP,Taking address of non-const struct member to modify it,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2584,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2585,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2585,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2643,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2648,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2672,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2672,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2689,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2689,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,2701,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/url.c,2706,FP,Sensitive-clear advisory on const literals / local; not a real issue,curl_full_audit_0.4.35,med
EXP15-C,curl,lib/url.c,2709,FP,Intentional empty if-arm with else fallthrough (commented),curl_full_audit_0.4.35,med
DCL31-C,curl,lib/url.c,2717,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2724,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2749,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2755,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2782,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2800,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2817,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2817,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,2826,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,2835,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
STR34-C,curl,lib/url.c,2845,FP,char** deref / char* write misread as signed-char read,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/url.c,2856,FP,Value reassigned in loop or freed; const not applicable,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/url.c,2865,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/url.c,2884,FP,"Set by out-param/calloc then guarded, or macro-opacity branch merge",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,2905,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
CON34-C,curl,lib/url.c,2949,FP,"getenv in DEBUGBUILD-only branch; dup of CON33 style, idiomatic",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2977,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2981,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,2991,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3000,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/url.c,3035,FP,host=conn-owned ptr in infof; no UB sequencing issue,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/url.c,3035,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,3065,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/url.c,3093,FP,"Out-param assigned heap pointer (curlx_strdup/memdup0), not local address",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/url.c,3120,FP,!strncmp boolean idiom in dispatch,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3151,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3182,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/url.c,3182,FP,url_move_hostname struct-copy move semantics after member free; intentional,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/url.c,3183,FP,memset of fixed-size struct member; size correct,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/url.c,3189,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3198,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3199,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3207,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3208,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3208,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3210,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3211,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3212,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3213,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3214,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3215,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3216,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3217,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3236,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/url.c,3237,FP,Curl_safefree nulls distinct struct members / free-then-reassign; not real UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3241,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/url.c,3246,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3288,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3296,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/url.c,3431,FP,"Out-param assigned heap pointer (curlx_strdup/memdup0), not local address",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,3467,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,3518,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/url.c,3525,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,3560,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/url.c,3583,FP,Pointer guarded by prior len>0/non-NULL check or NULL-safe traversal,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,3653,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3653,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3653,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3674,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3674,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3674,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3746,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/url.c,3776,FP,Pointer param is modified (members written) or fixed by external typedef,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/url.c,3779,FP,Taking address of non-const struct member to modify it,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,3798,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/url.c,3810,FP,"Set by out-param/calloc then guarded, or macro-opacity branch merge",curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,3864,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/url.c,3866,FP,memset of fixed-size struct member; size correct,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/url.c,3876,FP,curlx_* are internal macros/allocators declared in curl headers; false no-decl,curl_full_audit_0.4.35,high
API00-C,curl,lib/url.c,3882,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3882,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3887,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
API00-C,curl,lib/url.c,3887,FP,Thin/exported wrapper with documented non-NULL contract; siblings lack guard too,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/sendf.c,53,FP,curlx_free is a curl alloc wrapper declared in headers; not undeclared,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,53,FP,loop frees a distinct list node each iteration; not a double free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,54,FP,data (easy handle) is never freed; only writer node is,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,54,FP,"duplicate finding; data not freed, accessing data->req is fine",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,65,FP,curlx_free declared in headers; wrapper,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,65,FP,loop frees distinct reader node each iteration,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,66,FP,data not freed; reader node freed; data->req access valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,66,FP,duplicate; no UAF of data,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,70,FP,"internal API; data always valid easy handle, siblings do not null-check",curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,79,FP,internal API; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,95,FP,internal API; data always valid,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/sendf.c,98,FP,r is modified (r = r->next at line 109); not const-able,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,117,FP,thin accessor; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,117,FP,public API signature; const not part of convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,122,FP,thin setter; data always valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,130,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,137,FP,vtable do_init signature fixed by Curl_cwtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,138,FP,vtable signature; const fixed by function-pointer typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,145,FP,vtable do_write impl; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,145,FP,vtable impl; writer passed non-null by dispatch,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,145,FP,"buf forwarded, not dereferenced here",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,146,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,147,FP,advisory array syntax; not curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,152,FP,vtable do_close signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,153,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,159,FP,"static helper passes data through; advisory, curl no convention",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,177,FP,vtable cw_download_write signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,178,FP,advisory array syntax,curl_full_audit_0.4.35,high
INT00-C,curl,lib/sendf.c,233,FP,guarded by if(nwrite>wmax) where nwrite=nbytes; subtraction safe,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,307,FP,vtable cw_raw_write signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,308,FP,advisory array syntax,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,325,FP,init/add cycle guarded by if(!*anchor); not unbounded recursion,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/sendf.c,331,FP,"result stored into req.writer_stack, owned/freed by cl_reset_writer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,339,FP,"writer added to stack on success, freed on failure; no leak",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/sendf.c,342,FP,"writer set via Curl_cwriter_create out-param, guarded by !result",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,349,FP,"writer reassigned by new create; freed-then-overwrite, not UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,349,FP,"writer freed on add-fail, else owned by stack; no leak",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,349,FP,"writer overwritten by create out-param, not dereferenced after free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,351,FP,writer is freshly created non-freed pointer at this point,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,353,FP,single Curl_cwriter_free per branch; no double free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,358,FP,writer reassigned by create; freed-then-overwrite not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,358,FP,writer overwritten by out-param before use,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,360,FP,freshly created writer; not previously freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/sendf.c,362,FP,single free per branch; no double free,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,375,FP,buf is forwarded; DEBUGASSERTs guard; internal API,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/sendf.c,375,FP,"Curl_client_write is exported, declared in sendf.h",curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,376,FP,advisory array syntax,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,404,FP,data passed to do_init; always valid; internal API,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,414,FP,curlx_calloc declared in curl alloc headers,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/sendf.c,418,FP,casting void* (calloc) to struct*; no const involved,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,427,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,436,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,436,FP,single free guarded by if(writer); not double free,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,440,FP,iterates data->req.writer_stack; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,440,FP,exported API; advisory const not curl convention,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,452,FP,internal API; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,452,FP,writer passed non-null by callers,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,452,FP,guarded init cycle (if(!*anchor)); not unbounded,curl_full_audit_0.4.35,med
EXP40-C,curl,lib/sendf.c,456,FP,anchor = &writer_stack; no const qualifier in play,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,466,FP,writer is non-null param from callers; loop derefs writer->phase safely,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,473,FP,iterates writer_stack; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,473,FP,advisory const; exported API,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/sendf.c,478,FP,!strcmp name match is idiomatic curl convention,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/sendf.c,479,FP,"writer is loop var pointing to heap list nodes, not automatic storage",curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,484,FP,iterates writer_stack; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,484,FP,advisory const; exported API,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/sendf.c,490,FP,"writer points to heap list node, not local automatic storage",curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,495,FP,iterates writer_stack; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,495,FP,advisory const; exported API,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,510,FP,thin wrapper to Curl_cw_out_unpause; data forwarded,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,510,FP,"long cycle through pause/unpause; bounded by state, not unbounded recursion",curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,515,FP,sets *nread/*eos then null-checks reader; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,515,FP,buf forwarded to do_read; not dereferenced here,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,517,FP,advisory array syntax,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,526,FP,while(reader) handles null; zero iterations safe,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,535,FP,vtable do_init signature fixed by Curl_crtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,536,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,543,FP,vtable do_close signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,544,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,550,FP,vtable do_read impl; nread written via out-param chain,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,550,FP,vtable impl; eos out-param forwarded,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,551,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,552,FP,advisory array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,565,FP,vtable needs_rewind signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,566,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,573,FP,vtable total_length impl; data forwarded,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,573,FP,vtable impl; reader->next checked,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,574,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,580,FP,vtable resume_from signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,581,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,590,FP,vtable cntrl signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,591,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,600,FP,vtable is_paused signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,601,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,608,FP,vtable done signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,609,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,629,FP,vtable cr_in_read signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,629,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,641,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,642,FP,advisory array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,739,FP,vtable cr_in_needs_rewind signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,740,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,747,FP,vtable cr_in_total_length signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,748,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,756,FP,vtable cr_in_resume_from signature fixed by typedef,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/sendf.c,782,FP,"char scratch[4*1024] is fixed-size, not a VLA",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,819,FP,"static cr_in_rewind passes reader to ctx; advisory, no curl convention",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/sendf.c,864,FP,fseek return stored in err and checked via if(err != -1),curl_full_audit_0.4.35,high
ERR00-C,curl,lib/sendf.c,864,FP,fseek return is checked at line 867,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,900,FP,vtable cr_in_is_paused signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,901,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,922,FP,data forwarded to do_init; always valid; internal API,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,932,FP,curlx_calloc declared in curl alloc headers,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/sendf.c,936,FP,casting void* (calloc) to struct*; no const involved,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,945,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/sendf.c,953,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,953,FP,single free guarded by if(reader); not double free,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,965,FP,vtable cr_lc_init signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,965,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,973,FP,vtable cr_lc_close signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,973,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,982,FP,vtable cr_lc_read signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,983,FP,advisory array syntax,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/sendf.c,1029,FP,"i-start is size_t index subtraction, not pointer subtraction",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1059,FP,vtable cr_lc_total_length signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1060,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,1082,FP,guarded reader-stack init cycle; not unbounded recursion,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/sendf.c,1089,FP,"add only entered when !result, so reader is non-null",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,1096,FP,guarded init cycle; not unbounded recursion,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,1124,FP,data forwarded; internal API; always valid,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,1124,FP,guarded init cycle; not unbounded recursion,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/sendf.c,1133,FP,"r set via create out-param, guarded by if(result) goto out",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,1133,FP,r non-null after !result guard; ctx = r->ctx safe,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,1134,FP,"ctx = r->ctx where ctx is calloc'd region, non-null",curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1144,FP,internal API; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1144,FP,reader non-null from callers; insertion logic,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/sendf.c,1144,FP,guarded init cycle; not unbounded recursion,curl_full_audit_0.4.35,med
EXP40-C,curl,lib/sendf.c,1148,FP,anchor = &reader_stack; no const qualifier in play,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,1158,FP,reader is non-null param; loop derefs (*anchor) safely,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1165,FP,DEBUGASSERT(r) guards; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1165,FP,r asserted non-null; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1180,FP,DEBUGASSERT(buf) guards; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1180,FP,buf asserted; forwarded to read chain,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/sendf.c,1180,FP,"Curl_client_read is exported, declared in sendf.h",curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,1180,FP,advisory array syntax,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1222,FP,while(reader) handles null; internal API,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1235,FP,vtable cr_null_read signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1236,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,1237,FP,advisory array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1237,FP,vtable read buf is output buffer; written via memcpy elsewhere,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1249,FP,vtable cr_null_total_length signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1250,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1272,FP,data forwarded to create/do_init; internal API,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,1277,FP,result is CURLcode int; r ownership passed to reader_stack,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/sendf.c,1282,FP,result is CURLcode int; r handed to do_init_reader_stack,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/sendf.c,1282,FP,"r set via create out-param, guarded by if(result) return",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1293,FP,vtable cr_buf_read signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,1294,FP,advisory array syntax,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/sendf.c,1307,FP,memcpy dest buf is char* (non-const); source const; no const cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1317,FP,vtable cr_buf_needs_rewind signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1318,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1325,FP,vtable cr_buf_cntrl signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1326,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1341,FP,vtable cr_buf_total_length signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1342,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1349,FP,vtable cr_buf_resume_from signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1350,FP,vtable signature fixed by typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1386,FP,data forwarded; internal API; always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1386,FP,buf stored into ctx->buf; may be null legitimately (cr_buf_read handles),curl_full_audit_0.4.35,high
API05-C,curl,lib/sendf.c,1387,FP,advisory array syntax,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/sendf.c,1396,FP,"r set via create out-param, guarded by if(result) goto out",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,1396,FP,r non-null after guard; ctx = r->ctx safe,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/sendf.c,1397,FP,"ctx is calloc'd reader region, non-null after guard",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/sendf.c,1410,FP,advisory const-qualify; r is short-lived local pointer; idiomatic,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,1414,FP,while loop handles null r; internal API,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/sendf.c,1416,FP,advisory const-qualify; idiomatic local,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,1422,FP,while loop handles null r; internal API,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/sendf.c,1424,FP,advisory const-qualify; idiomatic local,curl_full_audit_0.4.35,med
API00-C,curl,lib/sendf.c,1430,FP,while(reader) handles null; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1445,FP,while(reader) handles null; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/sendf.c,1466,FP,for loop handles null; internal API,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sendf.c,1466,FP,advisory const; exported API,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/sendf.c,1472,FP,"r is loop var pointing to heap list node, not local automatic storage",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vssh/libssh.c,70,FP,Free-macro x always a simple lvalue (member access); no side-effect from multiple eval,curl_full_audit_0.4.35,med
PRE01-C,curl,lib/vssh/libssh.c,70,FP,x used only as statement-level lvalue; no operator-precedence hazard,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/vssh/libssh.c,70,FP,"Idiomatic guarded-free macro; lvalue arg, multiple eval benign",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vssh/libssh.c,121,FP,sshc threaded through state-machine helpers fixed by convention; curl does not const-qualify,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/vssh/libssh.c,155,FP,md5buffer written by snprintf loop at 154-155 before read at 157,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,155,FP,md5buffer filled by snprintf before any read,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/libssh.c,155,FP,hash guarded by rc!=SSH_OK||hlen!=16 goto cleanup before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/libssh.c,186,FP,known_base64 set by export; rc!=SSH_OK goto cleanup guards use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/libssh.c,236,FP,found_base64 set by export; rc!=SSH_OK goto cleanup guards use,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/vssh/libssh.c,298,FP,"known_base64 is a base64 public key, not sensitive secret data",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,358,FP,sshp state-machine helper param; curl convention does not const-qualify,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vssh/libssh.c,383,FP,sshp state-machine helper param; not const-qualified by convention,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/vssh/libssh.c,391,FP,sftp_attributes_free frees PREVIOUS value at 389; member reassigned by sftp_readdir,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,391,FP,"sftp_dir is a live libssh handle, not freed here",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,392,FP,readdir_attrs just reassigned at 391; not freed memory,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,393,FP,readdir_attrs reassigned at 391; accessing live attrs->name,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,393,FP,readdir_attrs is live after reassignment at 391,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,394,FP,readdir_attrs live; longname read from valid struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,394,FP,"readdir_attrs reassigned at 391, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,395,FP,readdir_filename just assigned from live attrs->name,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,400,FP,readdir_filename points into live readdir_attrs,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vssh/libssh.c,407,FP,readdir_len+1 is pure arithmetic; no bitwise op present (misparse),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,407,FP,readdir_len just assigned via strlen; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,417,FP,readdir_buf is a dyn buffer reset not freed; live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,417,FP,readdir_longentry points into live readdir_attrs,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,423,FP,readdir_attrs->flags read from live struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,423,FP,readdir_attrs live after reassignment at 391,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,424,FP,readdir_attrs->permissions read from live struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,424,FP,readdir_attrs not freed; live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,427,FP,readdir_filename points into live attrs,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,429,FP,readdir_linkPath just assigned by curl_maprintf at 426,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,442,FP,"sftp_dir is a live libssh handle, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,447,FP,"ssh_session is the live connection session, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,459,FP,sftp_attributes_free at 457 frees PREVIOUS link_attrs; reassigned at 459,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,460,FP,readdir_linkPath still live (freed later at 483),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,461,FP,readdir_link_attrs just assigned by sftp_lstat at 459,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,463,FP,ssh_session live; only passed to ssh_get_error,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,467,FP,link_attrs->name read from live struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,467,FP,readdir_link_attrs live after 459 reassignment,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,468,FP,"sftp_session live handle, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,469,FP,readdir_linkPath still live (freed at 483),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,470,FP,readdir_tmp just assigned by sftp_readlink at 468,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,473,FP,readdir_tmp live; strlen on it,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,475,FP,"readdir_tmp live, assigned to readdir_filename",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,478,FP,link_attrs->name from live struct (else branch),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,478,FP,readdir_link_attrs live; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,479,FP,link_attrs->name read from live struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,479,FP,readdir_link_attrs live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,480,FP,link_attrs->longname read from live struct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,480,FP,readdir_link_attrs live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,485,FP,"readdir_buf is dyn buffer (curlx_dyn_addf), not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,485,FP,readdir_filename live (points into attrs or readdir_tmp),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,498,FP,link_attrs freed once here (459-block frees only prior value); NULLed at 499,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh.c,515,FP,dyn_ptr/dyn_len are pure getters on same buffer; no unsequenced side effects,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,608,FP,conn used in auth helper; curl does not const-qualify these params,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vssh/libssh.c,643,FP,nprompts assigned at 642 immediately before use at 643,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,690,FP,"conn param of block2waitfor; curl convention, (void)conn",curl_full_audit_0.4.35,med
INT13-C,curl,lib/vssh/libssh.c,699,FP,"masking known SSH poll flag bits; dir small non-negative, idiomatic",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vssh/libssh.c,953,FP,sshp state-machine helper param; curl convention,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/vssh/libssh.c,967,FP,size is curl_off_t scalar copied from attrs->size; attrs freed not size,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,971,FP,data not freed; data->state.resume_from assignment to live struct,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vssh/libssh.c,997,FP,sftp_open handle (not posix fd); closed by sftp_close in CLOSE/SHUTDOWN,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vssh/libssh.c,1041,FP,"scratch[4*1024] is fixed-size array, not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,1041,FP,scratch is a local buffer filled by fread_func at 1048 before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,1101,FP,sshp state-machine helper param; curl convention,curl_full_audit_0.4.35,med
FIO42-C,curl,lib/vssh/libssh.c,1107,FP,"sftp_open handle, closed by sftp_close in CLOSE/SHUTDOWN states",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,1158,FP,from is out-param filled by Curl_ssh_range before use in sftp_seek64,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,1218,FP,sshp state-machine helper param; curl convention,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/vssh/libssh.c,1254,FP,guarded if(sftp_file) then sftp_close+NULL; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1255,FP,sftp_file closed and NULLed in same block; not reused,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1259,FP,sftp_session guarded then freed+NULLed; distinct member,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,1276,FP,"sftp_session is a connection member freed by SHUTDOWN/sshc_cleanup, not local leak",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,1287,FP,sftp_session freed later by sshc_cleanup via conn dtor; not leaked on this return,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,1290,FP,"sftp_session owned by sshc, freed by cleanup; not a leak",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1301,FP,most_recent_ftp_entrypath freed then reassigned by strdup; not UAF on data->state,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1302,FP,data->state not freed; member reassigned by curlx_strdup,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1303,FP,most_recent_ftp_entrypath freed at 1301 then reassigned at 1302; checked here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1303,FP,"data->state is live struct, not freed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,1362,FP,sshp state-machine helper param; curl convention,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vssh/libssh.c,1446,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1447,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1448,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1449,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1450,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1474,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1475,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1496,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1503,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1524,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1531,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1561,FP,quote_item walked to ->next; safefree at 1558-59 frees distinct path members,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1561,FP,quote_item is a list node not freed; advanced to next,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1563,FP,quote_item live after advance; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1567,FP,"nextstate is an enum field, not freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1568,FP,nextstate enum field; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1601,FP,sftp_session live; sftp_attributes_free at 1600 freed prior quote_attrs only,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1601,FP,quote_path2 live; not freed in this path,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1602,FP,quote_attrs just assigned by sftp_stat at 1601,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1604,FP,sftp_session live; passed to sftp_get_error,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1610,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1611,FP,quote_path1 live; read into local p,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1618,FP,quote_attrs live (sftp_stat result); fields written,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1619,FP,quote_attrs live; flags OR-assigned,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1621,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1623,FP,quote_path1 live; read into local p,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/vssh/libssh.c,1624,FP,07777 is intentional octal chmod permission mask (str_octal base arg),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1629,FP,quote_attrs live; permissions field set,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1630,FP,quote_attrs live; flags OR-assigned,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1632,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1633,FP,quote_path1 live; read into local p,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1640,FP,quote_attrs live; uid field set,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1641,FP,quote_attrs live; flags OR-assigned,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1643,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1644,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1647,FP,quote_path1 live; passed to Curl_getdate_capped,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh.c,1664,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1665,FP,quote_attrs live; atime field set,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1667,FP,quote_attrs live; mtime field set,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1669,FP,quote_attrs live; flags OR-assigned,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vssh/libssh.c,1681,FP,sockindex guarded by CONN_SOCK_IDX_VALID(sockindex) at 1680,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vssh/libssh.c,1684,FP,sockindex bounds-checked by CONN_SOCK_IDX_VALID at 1680,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vssh/libssh.c,1685,FP,sockindex bounds-checked by CONN_SOCK_IDX_VALID at 1680,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,1775,FP,scp_session is connection member freed by SESSION_DISCONNECT/sshc_cleanup,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh.c,1836,FP,curlx_dyn_free in cleanup destructor; readdir_buf not used after,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/libssh.c,2064,FP,slash_pos guarded by else if(sshc->slash_pos) at 2063 before deref,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2090,FP,err assigned at 2089 (sftp_get_error) immediately before use at 2090,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vssh/libssh.c,2273,FP,"waitfor holds small KEEP_* flag bits; masking idiomatic, non-negative",curl_full_audit_0.4.35,med
INT13-C,curl,lib/vssh/libssh.c,2275,FP,waitfor flag-bit masking; idiomatic,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vssh/libssh.c,2293,FP,Curl_meta_get returns calloc'd struct (aligned); char* is generic void* cast,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2345,FP,conformant-array advisory; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2345,FP,dtor callback signature fixed by Curl_meta_dtor typedef; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/vssh/libssh.c,2345,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2354,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2354,FP,dtor callback signature fixed by Curl_meta_dtor typedef,curl_full_audit_0.4.35,med
API05-C,curl,lib/vssh/libssh.c,2354,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2360,FP,sshc_cleanup frees members; curlx_free(sshc) frees container once; not double-free,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2372,FP,sshc assigned by curlx_calloc at 2372 then NULL-checked at 2373,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2381,FP,sshp assigned by curlx_calloc at 2381 then NULL-checked at 2382,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vssh/libssh.c,2384,FP,sshc/sshp registered via meta_set with dtors; ownership transferred (dtor frees on failure too),curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vssh/libssh.c,2386,FP,sshc/sshp owned by conn/easy meta with dtors; not leaked,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh.c,2401,FP,meta_get returns aligned calloc'd struct; generic void* cast,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2410,FP,"scp_recv is a static function (forward-declared at 2389), assigned not read-uninit",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2411,FP,"scp_send is a static function name, not an uninitialized variable",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2414,FP,sftp_recv is a static function name (decl 2389),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2415,FP,sftp_send is a static function name (decl 2390),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2418,FP,ssh_session stored in sshc (registered in conn meta); freed by sshc_cleanup dtor,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vssh/libssh.c,2425,FP,"ipv6 buffer formatted from conn->host.name, not getenv result",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2434,FP,"ssh_session owned by sshc, freed by conn dtor even on this early return",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2447,FP,ssh_session freed by sshc_cleanup via conn dtor; not leaked here,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2455,FP,ssh_session freed by conn dtor on cleanup; not a local leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2470,FP,ssh_session freed by conn dtor; not leaked,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2479,FP,ssh_session freed by conn dtor; not leaked,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vssh/libssh.c,2484,FP,ssh_options_set takes const void* and copies value; literal not modified,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2488,FP,ssh_session freed by conn dtor; not leaked,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2500,FP,ssh_session freed by conn dtor; not leaked,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh.c,2511,FP,ssh_session freed by conn dtor; not leaked,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh.c,2571,FP,"meta_get aligned struct; generic void* cast, no real alignment violation",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh.c,2590,FP,meta_get aligned struct; generic void* cast,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2620,FP,scp_send signature fixed by Curl_send function-pointer typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2621,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2654,FP,scp_recv signature fixed by Curl_recv typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2655,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh.c,2744,FP,meta_get aligned struct; generic void* cast,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vssh/libssh.c,2780,FP,sftp_send: every switch case (incl default) returns; no fallthrough to end,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2780,FP,sftp_send signature fixed by Curl_send typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2781,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2807,FP,nwrite assigned at 2806 (sftp_aio_wait_write) before use at 2807,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh.c,2861,FP,sftp_recv signature fixed by Curl_recv typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2862,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh.c,2900,FP,nread assigned at 2894/2896 before use at 2900,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/vssh/libssh.c,2917,FP,"default: return is a reachable switch arm, not dead code after a return",curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh.c,2964,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/multi.c,82,FP,[adv] GOOD_MULTI_HANDLE macro evaluates x multiple times; genuine multi-eval macro,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/multi.c,82,FP,"[adv] same macro, x evaluated twice; inline fn would be safer",curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/multi.c,86,FP,[adv] non-debug GOOD_MULTI_HANDLE also evaluates x twice,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/multi.c,86,FP,[adv] multi-eval of x in macro,curl_full_audit_0.4.35,adversarial-flip
API02-C,curl,lib/multi.c,95,FP,"timeout_ms is single out-param long*, not an array; no size needed",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,106,FP,multi_now internal helper; multi always non-NULL from internal callers,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,207,FP,ph_freeentry is hash dtor vtable signature; const cannot be added,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,224,FP,multi_addmsg internal; multi non-NULL,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,235,FP,curlx_calloc is curl-internal allocator declared in headers,curl_full_audit_0.4.35,high
CON34-C,curl,lib/multi.c,275,FP,getenv in DEBUGBUILD init only; not thread-shared concern here,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/multi.c,309,FP,"'error:' is a goto label, not unreachable code after return",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,323,FP,"Curl_mntfy_cleanup on member; single curlx_free(multi) at 331, no double-free",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,331,FP,curlx_free is internal macro/function from headers,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,331,FP,single free of multi; prior cleanups are distinct member destructors,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,347,FP,multi_warn_debug internal; multi non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,358,FP,Curl_is_connecting internal; data always valid from callers,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,358,FP,curl convention does not const-qualify easy handle params,curl_full_audit_0.4.35,low
DCL00-C,curl,lib/multi.c,367,FP,new_size IS modified at lines 388/393; const suggestion wrong,curl_full_audit_0.4.35,high
INT00-C,curl,lib/multi.c,380,FP,used=tbl_count<=capacity invariant; subtraction cannot underflow,curl_full_audit_0.4.35,high
INT14-C,curl,lib/multi.c,380,FP,capacity>>2 vs arithmetic is idiomatic; readability advisory only,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,438,FP,curl_multi_add_handle checks GOOD_MULTI_HANDLE/GOOD_EASY_HANDLE before this,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,441,FP,multi validated by GOOD_MULTI_HANDLE at function entry,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/multi.c,529,FP,CURL_TRC_M args are pure reads; no conflicting side effects,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,542,FP,debug_print_sock_hash in #if 0 block; hash-print callback signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,556,FP,multi_conn_should_close reads data; curl convention keeps handle non-const,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/multi.c,665,FP,multi_done recursion bounded by data->state.done guard; not infinite,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/multi.c,687,FP,Curl_safefree(data->req.newurl) nulls it; later data->req access is unrelated member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,688,FP,data->req struct not freed; safefree only freed newurl/location members,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,705,FP,"data->mstate is a field, never freed; not UAF",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/multi.c,713,FP,no char*->int* alignment cast; misparse of progress call,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,724,FP,data->multi never freed here; normal member access,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,727,FP,data->req not freed; only its newurl/location members were,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,732,FP,data->conn not freed; passed to cpool_do_locked normally,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,735,FP,Curl_netrc_cleanup(&data->state.netrc) cleans member; not a freed-ptr access,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,735,FP,"data->state is embedded struct, never freed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,740,FP,close_connect_only is cpool_do_locked callback; fixed signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,741,FP,userdata is callback signature param; const not addable,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/multi.c,749,FP,remove_handle recursion bounded by data->multi/done guards,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/multi.c,767,FP,data validated by GOOD_EASY_HANDLE earlier in function,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,778,FP,multi validated by GOOD_MULTI_HANDLE at entry,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/multi.c,887,FP,CURL_TRC_M trace args are read-only; no unsequenced side effects,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,894,FP,Curl_multiplex_wanted does 'multi && ...' — explicitly NULL-safe,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,925,FP,Curl_attach_connection DEBUGASSERTs data; internal-only non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,925,FP,conn DEBUGASSERTed; internal contract guarantees non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,931,FP,conn DEBUGASSERTed non-NULL just above (line 930),curl_full_audit_0.4.35,high
EXP36-C,curl,lib/multi.c,950,FP,no char*->curltime* cast; Curl_pgrs_now returns proper type,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/multi.c,1099,FP,Curl_multi_pollset returns mresult at 'out'; all switch paths covered,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/multi.c,1178,FP,trace-log args read-only; no conflicting side effects,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,1215,FP,"curl_multi_fdset public API signature; (void)exc_fd_set, cannot change",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,1230,FP,multi validated by GOOD_MULTI_HANDLE at 1227,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,1285,FP,multi validated by GOOD_MULTI_HANDLE at 1282,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/multi.c,1326,FP,getsockopt fills t via &t before comparison; && short-circuits on failure,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,1479,FP,WSAWaitForMultipleEvents is Winsock API from system headers,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/multi.c,1490,FP,r is loop-local cast result; const advisory noise,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1574,FP,curl_multi_wait is thin wrapper to multi_wait which validates,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1574,FP,ret passed through to multi_wait; NULL handled there,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,1580,FP,multi_wait is static defined later in same TU,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1584,FP,curl_multi_poll thin wrapper to multi_wait which validates multi,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1584,FP,ret forwarded to multi_wait; NULL-checked there,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,1590,FP,multi_wait static defined in same file,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,1632,FP,multi_ischanged internal; multi non-NULL from callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1645,FP,Curl_multi_connchanged internal setter; multi guaranteed valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,1650,FP,Curl_multi_add_perform internal; data validated downstream by add_handle,curl_full_audit_0.4.35,high
INT18-C,curl,lib/multi.c,1743,FP,k->size is curl_off_t (signed); comparison to -1 is valid signed compare,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,1847,FP,set_in_callback internal; multi non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,1853,FP,multi_posttransfer reads data->set; curl keeps handle param mutable,curl_full_audit_0.4.35,low
ERR33-C,curl,lib/multi.c,1858,FP,signal() restoring prev SIGPIPE handler; ignoring return is idiomatic restore,curl_full_audit_0.4.35,med
SIG00-C,curl,lib/multi.c,1858,FP,"SIGPIPE suppression restore, not handler registration; platform-guarded",curl_full_audit_0.4.35,med
SIG01-C,curl,lib/multi.c,1858,FP,SIGPIPE restore is standard libcurl idiom; sigaction not portable here,curl_full_audit_0.4.35,med
SIG02-C,curl,lib/multi.c,1858,FP,"restoring prior handler, not using signals for data handling",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/multi.c,1885,FP,no char*->curltime* cast; Curl_pgrs_now type-correct,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,2018,FP,curlx_free internal allocator from headers,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,2027,FP,newurl reassigned to data->req.newurl at 2019 after free; not freed ptr,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,2039,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,2042,FP,newurl reassigned to data->req.location at 2040 after free; live ptr,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,2058,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,2058,FP,single final free; intermediate frees followed by reassignment,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,2058,FP,free-then-reassign pattern; newurl is live before this free,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,2185,FP,curlx_free internal,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/multi.c,2218,FP,implicit bool test on mspeed_check; idiomatic CURLcode check,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2290,FP,multi internal; state machine callers pass valid multi,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/multi.c,2300,FP,Curl_connect fills &async; used only on !result success path,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/multi.c,2309,FP,Curl_connect fills &connected via out-param before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2420,FP,internal multi access; non-NULL by state-machine contract,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2441,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/multi.c,2530,FP,Curl_conn_connect fills &connected out-param before 'connected &&' read,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/multi.c,2705,FP,"'case MSTATE_COMPLETED:' is a label after break, not dead code",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2755,FP,internal multi access; non-NULL by contract,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/multi.c,2839,FP,cleanup<->Curl_close cycle bounded by magic=0 and state guards,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/multi.c,2845,FP,multi validated by GOOD_MULTI_HANDLE at 2842,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2859,FP,data validated by GOOD_EASY_HANDLE at 2855,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/multi.c,2860,FP,"adjacent string-literal concatenation across lines, no preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/multi.c,2860,FP,string continuation misparsed as directive in macro arg,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,2913,FP,multi_xfer_bufs_free frees members; single curlx_free(multi) at 2926,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,2914,FP,Curl_mntfy_cleanup on member; not a double-free of multi,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,2926,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,2926,FP,single free of multi; preceding calls free distinct members,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/multi.c,2926,FP,only one curlx_free(multi); no prior free of multi itself,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2951,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,2998,FP,add_next_timeout internal; d non-NULL from splay callers,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3031,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/multi.c,3060,FP,e is list iterator in verbose block; const advisory noise,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/multi.c,3072,FP,function returns on all paths; switch default/return coverage,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/multi.c,3148,FP,"sizeof(multi->last_expire_ts) is a struct member, not a decayed array param",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3196,FP,internal multi access; non-NULL by contract,curl_full_audit_0.4.35,high
INT13-C,curl,lib/multi.c,3256,FP,"val&CURLMNWC flag test; signed long from va_arg, idiomatic mask test",curl_full_audit_0.4.35,med
INT13-C,curl,lib/multi.c,3259,FP,"signed flag-mask test, idiomatic; bits are API constants",curl_full_audit_0.4.35,med
API00-C,curl,lib/multi.c,3281,FP,running_handles is optional out-param; curl_multi_socket wrapper,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3295,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3302,FP,running_handles optional out-param; thin wrapper,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3315,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3338,FP,VERBOSE(...) macro sqc cannot expand; not a real untyped declaration,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3340,FP,multi_timeout internal; multi non-NULL,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/multi.c,3346,FP,"*expire_time=*multi_now() copies struct curltime, no flexible array member",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/multi.c,3384,FP,e is loop iterator; const advisory noise,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3404,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3422,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3472,FP,curl convention keeps easy handle params non-const,curl_full_audit_0.4.35,low
ARR01-C,curl,lib/multi.c,3506,FP,"sizeof(*stamp) of pointed-to struct in memcpy; correct, not decayed array",curl_full_audit_0.4.35,high
INT10-C,curl,lib/multi.c,3545,FP,milli%1000 timeout value non-negative in practice; advisory,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi.c,3599,FP,Curl_expire internal; data non-NULL from internal callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3610,FP,Curl_expire_done internal; data non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3622,FP,Curl_expire_clear internal; data non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3653,FP,curl_multi_assign validates GOOD_MULTI_HANDLE; hashp used after checks,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/multi.c,3669,FP,multi validated by GOOD_MULTI_HANDLE earlier,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3693,FP,internal/validated multi access; non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3713,FP,curl convention keeps handle params mutable,curl_full_audit_0.4.35,low
API00-C,curl,lib/multi.c,3718,FP,Curl_multi_max_concurrent_streams DEBUGASSERTs multi; internal non-NULL,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3729,FP,curlx_malloc internal allocator from headers,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3738,FP,"data from xfer table entry, guarded by 'if(a)' alloc and DEBUGASSERT",curl_full_audit_0.4.35,high
API05-C,curl,lib/multi.c,3788,FP,char**/size_t* signature; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3792,FP,*pbuf=NULL assigns char* via char**; no char-to-int sign extension,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3810,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,3810,FP,frees data->multi->xfer_buf member; data->multi struct not freed,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3816,FP,curlx_malloc internal,curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3826,FP,*pbuf=char* assignment via char**; no sign-extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3831,FP,Curl_multi_xfer_buf_release DEBUGASSERTs data; internal non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3831,FP,buf is borrowed-back pointer marker; const not curl convention,curl_full_audit_0.4.35,low
API05-C,curl,lib/multi.c,3841,FP,char**/size_t* borrow signature; no C99 array syntax in curl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3845,FP,char* assignment via char**; no sign extension,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3863,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,3863,FP,frees xfer_ulbuf member; data->multi struct not freed,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3870,FP,curlx_malloc internal,curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3880,FP,char* via char**; no sign extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3885,FP,release fn DEBUGASSERTs data; internal non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3885,FP,buf marker param; not curl const convention,curl_full_audit_0.4.35,low
API05-C,curl,lib/multi.c,3895,FP,"size_t,char** sockbuf signature; no C99 array syntax",curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3899,FP,char* via char**; no sign extension,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3911,FP,curlx_free internal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/multi.c,3911,FP,frees xfer_sockbuf member; data->multi struct not freed,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi.c,3917,FP,curlx_malloc internal,curl_full_audit_0.4.35,high
STR34-C,curl,lib/multi.c,3926,FP,char* via char**; no sign extension,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3930,FP,release fn DEBUGASSERTs data; internal non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3930,FP,buf marker param; not curl const convention,curl_full_audit_0.4.35,low
API00-C,curl,lib/multi.c,3953,FP,Curl_multi_get_easy internal; multi non-NULL from callers,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3956,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi.c,3958,FP,"returns 'data' from xfer table (heap), not address of a local variable",curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3965,FP,Curl_multi_xfers_running internal; multi non-NULL by contract,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,3965,FP,reads multi->xfers_alive but curl convention keeps handle param non-const,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/multi.c,3967,FP,internal multi access; non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3970,FP,Curl_multi_mark_dirty checks 'data->multi &&'; effectively guarded,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi.c,3972,FP,data->multi checked in same expression; NULL-safe,curl_full_audit_0.4.35,high
API00-C,curl,lib/multi.c,3976,FP,Curl_multi_clear_dirty guards data->multi; NULL-safe,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi.c,4001,FP,"multi_xfer_dump has (void)multi unused; debug-only, const advisory",curl_full_audit_0.4.35,low
EXP30-C,curl,lib/multi.c,4023,FP,tbl_count/capacity in mfprintf args are pure reads; no side-effect conflict,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/multi.c,4032,FP,fflush(stderr) in debug dump; ignoring return is idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,38,FP,vtable default impl; cf required non-NULL by chain contract; UNITTESTS only,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,46,FP,vtable shutdown stub; done always supplied by dispatcher; not validated by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,46,FP,signature fixed by Curl_cftype do_shutdown typedef; const cannot be added,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,47,FP,vtable typedef-fixed signature; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,55,FP,adjust_pollset vtable typedef signature; fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,56,FP,vtable typedef-fixed signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,57,FP,vtable typedef-fixed signature,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,66,FP,vtable data_pending stub; cf non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,66,FP,data passed through to next filter; not deref'd here,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,66,FP,has_data_pending vtable typedef signature; fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,73,FP,vtable send stub; pnwritten always supplied by dispatcher,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,73,FP,do_send vtable typedef signature; fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,74,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,83,FP,vtable recv stub; pnread always supplied,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,83,FP,do_recv vtable typedef signature; fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,84,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,92,FP,vtable is_alive stub; cf non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,92,FP,"data passed to next filter, not deref'd",curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,92,FP,input_pending passed through; supplied by dispatcher,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,92,FP,is_alive vtable typedef signature; fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,101,FP,vtable keep_alive stub; cf non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,101,FP,data passed to next filter only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,101,FP,keep_alive vtable typedef signature; fixed,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,109,FP,vtable query stub; cf non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,109,FP,data passed through to next filter,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,109,FP,"pres1 forwarded to next filter, not deref'd here",curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,109,FP,"pres2 forwarded to next filter, not deref'd here",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,109,FP,query vtable typedef signature; fixed,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cfilters.c,132,FP,curlx_free declared in curlx headers; sqc failed to resolve include,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,138,FP,"thin wrapper; data forwarded to discard_chain, conn from validated caller",curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,138,FP,internal helper; conn supplied non-NULL by callers; not validated by convention,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,141,FP,sockindex is 0/1 from validated callers; cfilter[2] bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,141,FP,sockindex bounded 0/1 by CONN_SOCK_IDX_VALID upstream; cfilter[2],curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cfilters.c,141,FP,conn supplied non-NULL by callers; internal helper contract,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,144,FP,DEBUGASSERT(data->conn) present; data non-NULL by contract,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,150,FP,sockindex 0/1 from validated callers; cfilter[2] bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,150,FP,sockindex bounded; cfilter[2]; idiomatic dispatch,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,169,FP,guarded by CONN_SOCK_IDX_VALID at line 165,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,212,FP,DEBUGASSERT(data) present; data non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,212,FP,pnread set/forwarded; always supplied by caller,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,212,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,219,FP,sockindex 0/1; cfilter[2] bounded; dispatch layer,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,219,FP,sockindex bounded; cfilter[2],curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,230,FP,DEBUGASSERT(data) present; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,230,FP,pnwritten set/forwarded; always supplied,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,231,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,238,FP,sockindex 0/1; cfilter[2] bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,238,FP,sockindex bounded; cfilter[2],curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,255,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,255,FP,writer_ctx matches Curl_bufq reader callback typedef; fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,256,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,263,FP,cf stored into io.cf then used by callback; not pure-read here,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,264,FP,data stored into io.data and passed to send/recv; not const-able,curl_full_audit_0.4.35,med
API05-C,curl,lib/cfilters.c,280,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,280,FP,writer_ctx matches bufq writer callback typedef; fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,281,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,288,FP,cf stored into io.cf and used by callback; not const-able,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,289,FP,data stored into io.data and passed onward,curl_full_audit_0.4.35,med
API05-C,curl,lib/cfilters.c,291,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,311,FP,ctx stored into cf->ctx (ownership transfer); not const,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cfilters.c,317,FP,curlx_calloc declared in curlx headers; include not resolved,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cfilters.c,317,FP,cf assigned from curlx_calloc return; not uninitialized,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cfilters.c,325,FP,cf is heap pointer from calloc; pointer value valid after return,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,329,FP,DEBUGASSERT guards; data forwarded to trace only,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,329,FP,DEBUGASSERT(conn) present,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,329,FP,DEBUGASSERT(!cf->conn) implies cf non-NULL; caller supplies created cf,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cfilters.c,335,FP,cf required non-NULL by API contract; DEBUGASSERT(!cf->conn),curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,338,FP,sockindex 0/1 from validated caller; cfilter[2],curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,338,FP,sockindex bounded; cfilter[2],curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,341,FP,sockindex bounded 0/1; cfilter[2],curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,341,FP,sockindex bounded; cfilter[2],curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,345,FP,DEBUGASSERT(cf_at) present; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,345,FP,DEBUGASSERT(cf_new) present,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cfilters.c,352,FP,DEBUGASSERT(cf_new) at 351; non-NULL by contract,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cfilters.c,362,FP,pnext points into heap cf_new->next; tail is heap pointer; valid,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/cfilters.c,373,FP,idiomatic linked-list unlink via pointer-to-pointer; no const violation,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,405,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,415,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,446,FP,conn->cfilter iterated and passed onward; cf_cntrl_all static helper,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,491,FP,DEBUGASSERT(data)&DEBUGASSERT(data->conn) present,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,508,FP,guarded by CONN_SOCK_IDX_VALID at line 505,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,594,FP,checks CONN_SOCK_IDX_VALID then derefs conn; conn non-NULL by contract,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,594,TP,conn only read (cfilter[idx]!=NULL); exported non-vtable fn could take const,curl_full_audit_0.4.35,low
ARR00-C,curl,lib/cfilters.c,598,FP,guarded by CONN_SOCK_IDX_VALID at line 596,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,601,FP,CONN_SOCK_IDX_VALID checked; conn non-NULL by contract,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,601,FP,conn->scheme accessed; mutable through chain semantics; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,607,FP,guarded by CONN_SOCK_IDX_VALID at line 605,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cfilters.c,607,FP,conn deref after valid-index guard; conn non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,615,FP,CONN_SOCK_IDX_VALID checked; data->conn used per contract,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,615,FP,data->conn->cfilter traversed; data not const by convention,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,621,FP,guarded by CONN_SOCK_IDX_VALID at line 619,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,632,FP,cf_is_ssl traverses chain reading flags; could be const but idiomatic non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,643,FP,conn NULL-checked at line 647 ternary; CONN_SOCK_IDX_VALID guard,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,643,FP,conn forwarded to cf_is_ssl(conn->cfilter[]); idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,647,FP,guarded by CONN_SOCK_IDX_VALID at line 645,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,657,FP,guarded by CONN_SOCK_IDX_VALID at line 654,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,665,FP,CONN_SOCK_IDX_VALID checked; data forwarded; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,665,FP,conn NULL-checked via ternary at line 672,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,666,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,672,FP,guarded by CONN_SOCK_IDX_VALID at line 670; conn NULL-checked,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,676,FP,conn NULL-checked via ternary at line 682; CONN_SOCK_IDX_VALID guard,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,676,FP,conn->cfilter traversed; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,682,FP,guarded by CONN_SOCK_IDX_VALID at line 680; conn NULL-checked,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,693,FP,thin wrapper; data forwarded to cf get_transport; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,693,FP,conn->cfilter[FIRSTSOCKET] deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,694,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,700,FP,thin wrapper; data forwarded; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,700,FP,conn->cfilter[FIRSTSOCKET] deref; conn supplied non-NULL,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,701,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,707,FP,conn->cfilter[FIRSTSOCKET] deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,708,FP,conn->cfilter traversed; idiomatic non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,731,FP,DEBUGASSERT(data)&DEBUGASSERT(data->conn); CONN_SOCK_IDX_VALID guard,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,741,FP,guarded by CONN_SOCK_IDX_VALID at line 738,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,751,FP,cf NULL-checked via ternary at line 756,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,765,FP,guarded by CONN_SOCK_IDX_VALID at line 763,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,768,FP,cf NULL-safe; while(cf...) loops handle NULL (zero iterations),curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,768,FP,data forwarded to adjust_pollset vtable; non-NULL by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,788,FP,DEBUGASSERT(data) present,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,788,FP,DEBUGASSERT(conn) present at line 796,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cfilters.c,798,FP,DEBUGASSERT(conn) at 796; conn->cfilter[i] i=0/1 bounded,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,803,FP,DEBUGASSERT(cf) present at line 810,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,803,FP,DEBUGASSERT(data)&DEBUGASSERT(data->conn) present,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cfilters.c,829,FP,*phost is char** assigned const char*; not signed-char sign extension,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,834,FP,CONN_SOCK_IDX_VALID checked inline in ternary at line 834,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cfilters.c,834,FP,CONN_SOCK_IDX_VALID guards index at line 834,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cfilters.c,849,FP,*phost is char** assigned const char*; not sign extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,854,FP,cntrl vtable default impl; signature fixed by Curl_cftype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,855,FP,vtable typedef-fixed signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,856,FP,vtable typedef-fixed signature; arg2 void* by contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,866,FP,cf NULL-safe; for(;cf;cf=cf->next) zero iterations on NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,866,FP,arg2 opaque void* forwarded to cntrl callback; not deref'd here,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cfilters.c,908,FP,"returns value of local alpn (a pointer set by query callback), not its address",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cfilters.c,919,FP,"returns value of local remote_addr pointer, not its address",curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,951,FP,data->conn NULL-checked in ternary at line 955,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,960,FP,thin wrapper to cf_cntrl_all; data->conn used per contract,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,969,FP,guarded by CONN_SOCK_IDX_VALID at line 967,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,986,FP,thin wrapper to cf_cntrl_all; data->conn per contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,991,FP,thin wrapper to cf_cntrl_all; data->conn per contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,997,FP,conn->cfilter[FIRSTSOCKET] deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,997,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cfilters.c,1005,FP,CONN_SOCK_IDX_VALID checked; conn deref per contract,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,1005,FP,conn->cfilter deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,1006,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,1013,FP,guarded by CONN_SOCK_IDX_VALID at line 1011,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,1017,FP,CONN_SOCK_IDX_VALID checked; data forwarded to query,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,1017,FP,conn->cfilter deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,1018,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,1028,FP,guarded by CONN_SOCK_IDX_VALID at line 1025,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,1037,FP,CONN_SOCK_IDX_VALID checked; data forwarded to query,curl_full_audit_0.4.35,high
API00-C,curl,lib/cfilters.c,1037,FP,conn->cfilter deref; conn supplied non-NULL by callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cfilters.c,1038,FP,conn->cfilter read; idiomatic non-const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cfilters.c,1048,FP,guarded by CONN_SOCK_IDX_VALID at line 1045,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cfilters.c,1054,FP,data->conn read in Curl_conn_sockindex; idiomatic non-const,curl_full_audit_0.4.35,med
API05-C,curl,lib/cfilters.c,1063,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,1069,FP,guarded by CONN_SOCK_IDX_VALID at line 1067,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,1070,FP,guarded by CONN_SOCK_IDX_VALID at line 1067,curl_full_audit_0.4.35,high
API05-C,curl,lib/cfilters.c,1076,FP,C99 array-param syntax not used,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cfilters.c,1089,FP,getenv return checked: if(p) at line 1090 before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/cfilters.c,1089,FP,DEBUGBUILD-only test hook; value checked; not a thread-safety concern in practice,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/cfilters.c,1092,FP,"curlx_str_number advances local pointer p, does not modify env string contents",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,1099,FP,guarded by CONN_SOCK_IDX_VALID at line 1084,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cfilters.c,1100,FP,guarded by CONN_SOCK_IDX_VALID at line 1084,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,50,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,51,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,51,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
ARR02-C,curl,lib/mime.c,62,FP,static const array sized by full initializer; idiomatic,curl_full_audit_0.4.35,med
PRE01-C,curl,lib/mime.c,94,TP,"macro param stat_data unparenthesized (low impact, member-access use)",curl_full_audit_0.4.35,low
API00-C,curl,lib/mime.c,110,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
FIO42-C,curl,lib/mime.c,117,FP,fclose present (l128) / fp is member freed in mime_file_free,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/mime.c,117,FP,fclose present (l128) / fp is member freed in mime_file_free,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/mime.c,124,FP,fread return used (count+=ret); VMS path,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/mime.c,124,FP,fread elem-size 1 count sizeof(buf) is valid byte read,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/mime.c,124,FP,fread return used (count+=ret); VMS path,curl_full_audit_0.4.35,high
FIO17-C,curl,lib/mime.c,124,FP,"binary fread, no null terminator expected",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,185,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,193,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
ARR02-C,curl,lib/mime.c,201,FP,static const array sized by full initializer; idiomatic,curl_full_audit_0.4.35,med
ARR02-C,curl,lib/mime.c,212,FP,static const array sized by full initializer; idiomatic,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,241,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,241,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/mime.c,248,FP,"returns heap/struct-member ptr, not local-storage address",curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,253,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/mime.c,275,FP,"returns heap/struct-member ptr, not local-storage address",curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,287,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,288,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,308,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,314,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,315,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,329,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,339,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,340,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,356,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,357,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,376,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
EXP07-C,curl,lib/mime.c,376,FP,base64 bit-shift constants are idiomatic,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/mime.c,376,FP,"'i' is an int, not a FILE stream; misparse",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/mime.c,376,FP,"'i' is an int, not a FILE stream; misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mime.c,377,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
EXP07-C,curl,lib/mime.c,377,FP,base64 bit-shift constants are idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mime.c,378,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,379,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
EXP07-C,curl,lib/mime.c,403,FP,base64 bit-shift constants are idiomatic,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mime.c,404,FP,base64 bit-shift constants are idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,418,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,437,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
INT14-C,curl,lib/mime.c,439,FP,n only arithmetic+array-index; no bitwise on n,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mime.c,444,FP,qp_class[256] indexed via &0xFF; not buf[4]; misattribution,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,451,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,452,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
STR31-C,curl,lib/mime.c,539,FP,memcpy of exact binary/encoded byte count; not C string,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mime.c,539,FP,var assigned (malloc/loop-init) before use; sqc misparse,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,552,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,561,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,562,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,562,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,600,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
FIO42-C,curl,lib/mime.c,613,FP,fclose present (l128) / fp is member freed in mime_file_free,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,617,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,618,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
FIO17-C,curl,lib/mime.c,628,FP,"binary fread, no null terminator expected",curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,661,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,662,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,663,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
STR31-C,curl,lib/mime.c,683,FP,memcpy of exact binary/encoded byte count; not C string,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mime.c,689,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
API05-C,curl,lib/mime.c,690,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mime.c,754,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
MSC37-C,curl,lib/mime.c,754,FP,infinite for(;;) with returns inside; NOTREACHED end,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,754,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
INT30-C,curl,lib/mime.c,775,FP,sz bounded <= remaining by encoder contract; no wrap,curl_full_audit_0.4.35,high
INT31-C,curl,lib/mime.c,776,FP,"'buffer += sz' is pointer arithmetic, not char narrowing",curl_full_audit_0.4.35,high
INT30-C,curl,lib/mime.c,777,FP,sz bounded <= remaining by encoder contract; no wrap,curl_full_audit_0.4.35,high
INT30-C,curl,lib/mime.c,805,FP,sz bounded <= remaining by encoder contract; no wrap,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mime.c,814,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
API05-C,curl,lib/mime.c,815,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/mime.c,845,FP,STRCONST expands to literal+sizeof; no side-effecting calls,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/mime.c,852,FP,STRCONST expands to literal+sizeof; no side-effecting calls,curl_full_audit_0.4.35,high
INT30-C,curl,lib/mime.c,889,FP,sz bounded <= remaining by encoder contract; no wrap,curl_full_audit_0.4.35,high
INT31-C,curl,lib/mime.c,890,FP,"'buffer += sz' is pointer arithmetic, not char narrowing",curl_full_audit_0.4.35,high
INT30-C,curl,lib/mime.c,891,FP,sz bounded <= remaining by encoder contract; no wrap,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mime.c,898,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
API05-C,curl,lib/mime.c,898,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,899,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/mime.c,918,FP,STRCONST expands to literal+sizeof; no side-effecting calls,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1028,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1037,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1041,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1072,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
API00-C,curl,lib/mime.c,1098,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
API00-C,curl,lib/mime.c,1098,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
MEM05-C,curl,lib/mime.c,1098,FP,recursion depth bounded by mime nesting; not excessive,curl_full_audit_0.4.35,med
MSC04-C,curl,lib/mime.c,1098,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
EXP33-C,curl,lib/mime.c,1132,FP,var assigned (malloc/loop-init) before use; sqc misparse,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mime.c,1132,FP,ptr guaranteed non-NULL after checked create / NULL-safe loop,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mime.c,1134,FP,var assigned (malloc/loop-init) before use; sqc misparse,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mime.c,1184,FP,var assigned (malloc/loop-init) before use; sqc misparse,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/mime.c,1202,FP,"returns heap/struct-member ptr, not local-storage address",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/mime.c,1208,FP,sizeof(*part) on real allocated struct ptr is correct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mime.c,1221,FP,var assigned (malloc/loop-init) before use; sqc misparse,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/mime.c,1235,FP,"returns heap/struct-member ptr, not local-storage address",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1248,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1265,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,1273,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mime.c,1357,FP,Curl_safefree/freefunc then field nulled; no access of freed mem,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/mime.c,1364,FP,static const array sized by full initializer; idiomatic,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1398,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1418,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API00-C,curl,lib/mime.c,1489,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,1496,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,1496,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,1529,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mime.c,1540,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/mime.c,1540,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
MSC04-C,curl,lib/mime.c,1566,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
DCL30-C,curl,lib/mime.c,1602,FP,"returns heap/struct-member ptr, not local-storage address",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/mime.c,1629,FP,static const array sized by full initializer; idiomatic,curl_full_audit_0.4.35,med
STR34-C,curl,lib/mime.c,1643,FP,char buffer read/write with &0xFF/&0x80; benign,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,1657,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/mime.c,1658,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/mime.c,1673,FP,recursion depth bounded by mime nesting; not excessive,curl_full_audit_0.4.35,med
MEM05-C,curl,lib/mime.c,1815,FP,recursion depth bounded by mime nesting; not excessive,curl_full_audit_0.4.35,med
MSC04-C,curl,lib/mime.c,1815,TP,genuine recursion (mime is recursive by design); advisory,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/mime.c,1844,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1845,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1855,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1856,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,1865,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,1866,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,1999,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2000,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2007,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2008,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2016,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
MEM05-C,curl,lib/mime.c,2025,FP,"char scratch[4*1024] is fixed-size, not a VLA",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,2058,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2081,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2082,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API00-C,curl,lib/mime.c,2103,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
API00-C,curl,lib/mime.c,2103,FP,internal/wrapper; callers guarantee non-NULL (DEBUGASSERT),curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2103,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/mime.c,2112,FP,ptr guaranteed non-NULL after checked create / NULL-safe loop,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mime.c,2113,FP,ptr guaranteed non-NULL after checked create / NULL-safe loop,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/mime.c,2130,FP,CURL is typedef void; void*/CURL* identical types,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2130,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2136,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2141,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2147,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2154,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2161,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2168,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2175,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
API05-C,curl,lib/mime.c,2175,FP,curl never uses C99 array-param syntax; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mime.c,2183,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2190,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2194,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2205,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2205,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2212,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2213,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mime.c,2221,FP,callback/vtable+public API signatures; const not addable,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/vtls/vtls.c,81,FP,"CLONE_STRING macro arg used in if/assign; idiomatic curl clone macro, no double-eval hazard",curl_full_audit_0.4.35,med
PRE01-C,curl,lib/vtls/vtls.c,81,FP,"'var' is a struct member name token (dest->var), parenthesizing is meaningless here",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/vtls/vtls.c,81,FP,"member-selector macro; inline fn cannot take field name; idiomatic, no real defect",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/vtls/vtls.c,92,FP,"CLONE_BLOB evaluates arg once via blobdup(&dest->var,...); no multi-eval defect",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/vtls/vtls.c,92,FP,member-selector macro; no genuine multiple-evaluation hazard,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,98,FP,blobdup reads src->len/->data only; could be const but curl convention does not; advisory,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/vtls/vtls.c,105,FP,"curlx_malloc is a curl memory-wrapper macro/decl from headers; declared, sqc cannot see",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vtls/vtls.c,112,FP,"(char*)d + sizeof(blob): char* arithmetic is byte-wise; flexible-array trailer, correct",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/vtls/vtls.c,112,FP,d is non-const malloc'd; (char*)d casts pointer type not away const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,120,FP,"blobcmp reads only; const-advisory, curl does not follow project-wide",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,120,FP,second read-only; const-advisory,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vtls/vtls.c,128,FP,!memcmp idiom returning bool equality; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,195,FP,match_ssl_primary_config reads configs only; const-advisory; data unused,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,196,FP,c1 compared only; const-advisory,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,197,FP,c2 compared only; const-advisory,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vtls/vtls.c,214,FP,!Curl_timestrcmp equality idiom in config-match conjunction; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,215,FP,!Curl_timestrcmp equality idiom; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,228,FP,internal entrypoint; callers always pass valid data; thin dispatch to match fn,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,228,FP,candidate always valid from connectdata; internal invariant,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,243,FP,source read-only in clone but CLONE_STRING reads source->var; const-advisory,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,275,FP,free_primary_ssl_config WRITES sslc members via Curl_safefree; cannot be const,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,296,FP,"exported config-complete; data is the easy handle, always valid by invariant",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,296,FP,function writes data->set extensively; cannot be const,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,413,FP,conn always valid; passes &conn->ssl_config to free helper,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls.c,415,FP,conn dereferenced is internal invariant; never NULL here,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,421,FP,guards data->conn before use; data itself always valid easy handle,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,421,FP,"reads data->set/conn, copies into dest; const-advisory, curl convention",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/vtls.c,434,FP,dest set from data->conn members inside if(data->conn); non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls.c,434,FP,src set from data->set.* address-of; always non-NULL,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/vtls.c,444,FP,Curl_ssl_backend both #if branches return a value; ifdef-merge artifact,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vtls/vtls.c,457,FP,init_ssl global init guarded by global init lock in curl; documented single-thread init,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,501,FP,cf_ctx_new ignores data ((void)data); const-advisory only,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,507,FP,ctx assigned by curlx_calloc immediately; not uninitialized,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls.c,517,FP,backend alloc failed (NULL); ctx freed via curlx_free(ctx) before return NULL,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls.c,519,FP,"ctx is heap pointer from calloc, not automatic storage; returning it is correct",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls.c,519,FP,"success path returns owned ctx to caller; ownership transfer, not leak",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls.c,525,FP,cf_ctx_free frees distinct members then ctx; Curl_safefree nulls; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls.c,526,FP,Curl_bufq_free on distinct member earlydata; no use after free,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,546,FP,cfilter vtable callback; cf always supplied by filter chain,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,598,FP,conformant-array-syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,600,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,609,FP,Curl_ssl_free_certinfo writes data->info.certs; cannot be const,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,649,FP,exported; data easy handle always valid; DEBUGASSERT guards certnum,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,649,FP,writes data->info.certs[]; cannot be const,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,651,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,652,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,682,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,695,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,696,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,757,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,758,FP,conformant-array advisory,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,769,FP,!strncmp prefix-match idiom; idiomatic,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vtls/vtls.c,800,FP,"sizeof in strncmp length arg (string literal), not a loop pointer bound; misparse",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,801,FP,!strncmp prefix idiom in while condition; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,809,FP,!memcmp equality idiom after explicit len compare; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls.c,809,FP,cert_hash set by base64_encode under if(!encode); reached only when non-NULL,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/vtls.c,829,FP,fp closed via curlx_fclose(fp) at end: label reached by every goto end,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls.c,831,FP,return result before any alloc; goto end frees buf/pem_ptr/fp; sha256sumdigest not in this branch,curl_full_audit_0.4.35,high
FIO14-C,curl,lib/vtls/vtls.c,836,FP,"fseek SEEK_END on file opened 'rb'; size bounded+validated; portable on real platforms, idiomatic",curl_full_audit_0.4.35,med
FIO19-C,curl,lib/vtls/vtls.c,836,FP,fseek/ftell for size with validation/bounds; acceptable portable idiom here,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/vtls/vtls.c,838,FP,ftell result 'filesize' checked at line 841 (filesize<0) before use,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/vtls/vtls.c,838,FP,ftell return checked at line 841; duplicate of ERR33,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/vtls.c,859,FP,"fread(buffer,1,want,fp): element size 1, want<=sizeof(buffer); correct, not byte/element confusion",curl_full_audit_0.4.35,high
FIO17-C,curl,lib/vtls/vtls.c,859,FP,"binary read into dynbuf, not a C-string; null terminator irrelevant",curl_full_audit_0.4.35,high
INT30-C,curl,lib/vtls/vtls.c,863,FP,"want = min(left,1024) so left-=want cannot underflow; loop exits when left==0",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,868,FP,!memcmp equality idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,886,FP,!memcmp equality idiom guarded by length compare; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls.c,886,FP,memcmp guarded by pubkeylen==pem_len; if pem_len>0 pem_ptr non-NULL after successful decode,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls.c,894,FP,"end: label frees buf and pem_ptr, closes fp; sha256sumdigest belongs to other branch",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,917,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,958,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,967,FP,conformant-array advisory,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vtls/vtls.c,1020,FP,"available_backends[] sized by NULL-terminated initializer list; idiomatic, intended",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,1056,FP,conformant-array advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1065,FP,'selected' is static (zero-initialized to NULL); not uninitialized,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vtls/vtls.c,1067,FP,backends is char[200]; backends+sizeof(backends) is correct end pointer (byte array),curl_full_audit_0.4.35,high
ERR02-C,curl,lib/vtls/vtls.c,1079,FP,"curl_msnprintf bounded by end-p; return advances p, length recomputed; output truncation-safe",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vtls/vtls.c,1088,FP,'backends' is static char[200] zero-init; p computed from it; not uninitialized,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1088,FP,"backends_len is static, zero-initialized; assigned in the if block before use",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/vtls.c,1112,FP,"env from curl_getenv (heap copy), not libc getenv; freed with curlx_free; not aliasing static buffer",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/vtls.c,1114,FP,"curlx_free is curl memory-wrapper from headers; declared, sqc cannot resolve",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/vtls.c,1114,FP,env is curl_getenv heap copy; curlx_free just frees it; no env-modification hazard,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/vtls.c,1125,FP,curl_getenv heap copy freed; not libc getenv static buffer,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/vtls.c,1133,FP,curlx_free wrapper declared in headers; sqc cannot see,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vtls/vtls.c,1133,FP,curl_getenv heap copy freed; not env-static-buffer modification,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/vtls/vtls.c,1145,FP,"assigning &available_backends (file-scope array) to out-param; explicit cast, public API contract",curl_full_audit_0.4.35,med
MEM30-C,curl,lib/vtls/vtls.c,1185,FP,"peer_cleanup: dispname freed only if !=hostname, then hostname freed separately; distinct, no double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls.c,1185,FP,hostname is distinct member freed once via Curl_safefree; not UAF,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1223,FP,Curl_ssl_peer_init; cf from filter chain always valid; cf->conn deref is invariant,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,1265,FP,!strcmp equality idiom selecting dispname aliasing; idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1300,FP,'save' initialized by CF_DATA_SAVE macro (header) sqc cannot expand,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1312,FP,'save' initialized by CF_DATA_SAVE macro; opaque to sqc,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1343,FP,'save' set by CF_DATA_SAVE before CF_DATA_RESTORE; macro-opaque,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,1350,FP,!ssl_prefs_check bool idiom (returns bool TRUE/FALSE); idiomatic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,1386,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,1408,FP,conformant-array advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1462,FP,'save' initialized by CF_DATA_SAVE macro; opaque,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,1474,FP,conformant-array advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1483,FP,'save' set by CF_DATA_SAVE macro; opaque,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,1526,FP,conformant-array advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1533,FP,'save' set by CF_DATA_SAVE macro; opaque,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1567,FP,'save' set by CF_DATA_SAVE inside if-block before restore; macro-opaque,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1584,FP,'save' set by CF_DATA_SAVE macro; opaque,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls.c,1620,FP,"*palpn assigned a const char* (alpn string), not signed-char sign-extension; misparse",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,1633,FP,ssl_cf_cntrl is cfilter vtable impl; signature fixed by function-pointer typedef; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1634,FP,arg2 part of vtable cntrl signature; fixed by typedef; (void)arg2 unused,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,1644,FP,!strcmp protocol-name match idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,1646,FP,!strcmp protocol match idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls.c,1648,FP,!strcmp protocol match idiom; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1656,FP,cf_ssl_is_alive is is_alive vtable impl; signature fixed by typedef; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1709,FP,cf_ssl_create passes conn to cf_ctx_new path; const-advisory; conn read-only here,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/vtls/vtls.c,1721,FP,ctx freed via cf_ctx_free(ctx) at out: label on error; not leaked,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/vtls.c,1723,FP,ctx freed via cf_ctx_free at out: on error; success transfers ownership to cf,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1742,FP,"thin wrapper; data passed to cf_ssl_create, not dereferenced here; always valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1742,FP,conn forwarded to cf_ssl_create; always valid by caller invariant,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1755,FP,cf_at->conn deref forwarded; cf_at always valid from filter chain,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1755,FP,data forwarded to cf_ssl_create; valid easy handle invariant,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1771,FP,cf_ssl_proxy_create reads conn->http_proxy; const-advisory; (void)conn anyway,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/vtls/vtls.c,1788,FP,ctx freed via cf_ctx_free at out: on error; success transfers ownership,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1802,FP,cf_at->conn forwarded; cf_at valid from filter chain,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1802,FP,data forwarded; valid easy handle,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1816,FP,Curl_ssl_supports does (void)data; const-advisory only,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls.c,1836,FP,'save' set by CF_DATA_SAVE macro before restore; macro-opaque,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1876,FP,guards data->conn (ternary) before deref; data is valid easy handle,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/vtls.c,1882,FP,sockindex is FIRSTSOCKET/SECONDARYSOCKET (0/1) caller-constant; cfilter[] sized for it,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/vtls/vtls.c,1882,FP,"sockindex bounded {0,1} by all internal callers; no OOB",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls.c,1900,FP,"Curl_ssl_cf_is_proxy reads cf->cft->flags; const-advisory; but used as predicate, curl convention",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/vtls.c,1905,FP,"both #ifdef branches of get_config return; ifdef-merge artifact, all paths return",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,1906,FP,data read to pick &data->set.*; const-advisory; returns non-const member ptr,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/vtls/vtls.c,1916,FP,both #ifdef branches of get_primary_config return; all paths return,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1934,FP,"buf is struct alpn_proto_buf* not array param; sizeof(*buf) yields full struct size, correct",curl_full_audit_0.4.35,high
INT08-C,curl,lib/vtls/vtls.c,1940,FP,"off int, blen<=ALPN_NAME_MAX-1; off+blen+1 cannot overflow int and is compared to buffer size",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1940,FP,"buf is real struct pointer; sizeof(buf->data) is fixed-array size, correct",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1956,FP,buf real struct ptr; sizeof(*buf) is struct size; not decayed array param,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1961,FP,sizeof(buf->data) is fixed member array size; correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1973,FP,Curl_alpn_contains_proto guards proto via plen=proto?strlen:0 and 'plen &&' loop cond; NULL-safe,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls.c,1976,FP,strlen(proto) takes char*; no signed-char promotion of a value; misparse,curl_full_audit_0.4.35,med
STR34-C,curl,lib/vtls/vtls.c,1976,FP,proto used as string ptr to strlen; no sign-extension defect,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vtls/vtls.c,1979,FP,!memcmp equality idiom guarded by slen==plen; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,1985,FP,"Curl_alpn_restrict_to internal; callers pass literal proto strings; strlen tolerates, DEBUGASSERT guards",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls.c,1987,FP,strlen(proto) on char*; no sign-extension of value; misparse,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/vtls/vtls.c,1988,FP,spec is real struct ptr; sizeof(spec->entries[0]) is fixed sub-array size; correct,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1989,FP,sizeof(spec->entries[0]) fixed member-array size; correct,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/vtls.c,1990,FP,"memcpy(entries[0],proto,plen+1) bounded by if(plen<sizeof(entries[0])) guard; safe",curl_full_audit_0.4.35,high
INT32-C,curl,lib/vtls/vtls.c,1990,FP,plen=strlen(proto) small; plen+1 cannot overflow; guarded against entry-array size,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vtls/vtls.c,1998,FP,"Curl_alpn_copy: dest and src are distinct objects (caller-supplied), not overlapping; memcpy correct",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,1998,FP,dest real struct ptr; sizeof(*dest) is struct size; correct,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls.c,2000,FP,sizeof(*dest) struct size in memset; correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,2003,FP,Curl_alpn_set_negotiated; connssl from cf->ctx invariant always valid,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/vtls.c,2003,FP,all paths reach 'out:' and return result; not a fall-through-without-return,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,2003,FP,cf is (void)cf unused; const-advisory only,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.c,2006,FP,conformant-array advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,2071,FP,Curl_on_session_reuse; cf->ctx invariant; cf always valid from chain,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,2071,FP,scs supplied by scache layer always valid; scs->alpn read after,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls.c,2071,FP,do_early_data is out-param written (*do_early_data=FALSE) immediately; caller supplies,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls.c,2074,FP,scs read (scs->alpn) only; const-advisory; curl convention,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/http2.c,167,FP,h2_stream_ctx_free frees members then stream once; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,167,FP,single free of stream after member frees; no double-free,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/http2.c,197,FP,sizeof(*ctx) on real struct pointer (memset size); correct usage,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,202,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/http2.c,263,FP,H2_STREAM_CTX evals data via ternary guard; idiomatic curl accessor macro,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/http2.c,263,FP,"accessor macro single logical use; idiomatic, not multiple-eval bug",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/http2.c,272,FP,stream assigned by curlx_calloc then NULL-checked before deref,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http2.c,288,FP,"stream points to heap (calloc) or hash entry, not stack local",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,292,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,358,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,359,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,360,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,369,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/http2.c,380,FP,"stream points to heap (calloc) or hash entry, not stack local",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,384,FP,"stream stored in hash via uint32_hash_set; freed by hash dtor, not leaked",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http2.c,393,FP,"stream points to heap (calloc) or hash entry, not stack local",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,423,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,466,FP,"o set by nghttp2_option_new(&o), rc-checked before use",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,481,TP,static non-vtable helper reads ctx only; const ctx* applies; never writes,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/http2.c,573,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,598,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,609,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,610,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,611,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,657,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,673,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/http2.c,685,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http2.c,694,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,707,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http2.c,713,FP,"stream points to heap (calloc) or hash entry, not stack local",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,763,FP,url non-NULL: set by curl_url_get only when uc==0 reaches here,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http2.c,774,FP,push_promise: all paths set rv and reach fail: return rv,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,790,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,856,FP,newstream set by http2_data_setup success + DEBUGASSERT(newstream),curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,889,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,906,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,939,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,950,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,961,FP,rv assigned by nghttp2_submit_rst_stream before is_fatal(rv),curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,1049,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1049,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http2.c,1102,FP,index len clamped to buffer size before write; in-bounds,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1120,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/http2.c,1133,FP,index len clamped to buffer size before write; in-bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http2.c,1161,FP,index len clamped to buffer size before write; in-bounds,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1224,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/http2.c,1238,FP,index len clamped to buffer size before write; in-bounds,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1257,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1257,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1349,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,1374,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,1393,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1394,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1396,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http2.c,1427,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http2.c,1435,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1474,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1481,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1493,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1496,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1508,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1515,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,1524,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1528,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1536,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,1551,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1555,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/http2.c,1564,FP,"push_headers persists in stream, freed by free_push_headers/ctx dtor",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1569,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1570,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1571,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,1572,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1619,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,1620,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1622,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,1635,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,1647,FP,"binlen set by curlx_sztouz(rc,&binlen) before use; macro artifact",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,1726,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,1728,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,1790,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,1829,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,1829,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,1943,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,1946,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,1961,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,1998,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2015,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2022,FP,stream guaranteed non-NULL by callers (data_setup success/DEBUGASSERT),curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2060,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2083,FP,stream guarded: !stream branch calls h2_submit; else uses non-NULL,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http2.c,2109,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2173,FP,stream from http2_data_setup success path; non-NULL,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http2.c,2187,FP,"stream points to heap (calloc) or hash entry, not stack local",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2193,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2197,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2201,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,2260,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,2272,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2286,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2290,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,2304,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http2.c,2315,FP,nghttp2 getters are pure reads as args; no shared mutation/UB,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2340,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2343,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2380,FP,rc is int return code; actual alloc cbs freed at out: callbacks_del,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2383,FP,rc is int return code; actual alloc cbs freed at out: callbacks_del,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2404,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2404,FP,cbs from callbacks_new rc-checked non-zero->goto out before use,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2407,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2421,FP,"binlen set by curlx_sztouz(rclen,&binlen) before use",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2424,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2431,FP,stream from http2_data_setup success + DEBUGASSERT(stream),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2440,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2463,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2473,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http2.c,2484,FP,"rc is int code not pointer; cbs freed at out: label, no leak",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2510,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/http2.c,2513,FP,"result is CURLcode enum, not an fd; no open()/close() involved",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2548,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2557,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/http2.c,2581,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2623,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2653,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/http2.c,2660,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2686,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/http2.c,2705,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2719,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2737,FP,save filled by CF_DATA_SAVE macro (sqc can't expand) before restore,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http2.c,2738,FP,idiomatic !strcmp/!strncmp/zero-test boolean usage,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2749,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2754,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http2.c,2802,FP,"ctx=cf->ctx assigned at decl; macro/branch artifact, not uninit",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2822,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/http2.c,2830,FP,ctx=cf->ctx assigned at decl; not uninitialized,curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,2866,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2878,FP,cf from http2_cfilter_add success path; non-NULL when reached,curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,2885,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,2905,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
API00-C,curl,lib/http2.c,2905,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2907,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2920,FP,cf from http2_cfilter_add success; non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http2.c,2933,FP,ctx=cf->ctx with cf non-NULL after add success; guarded,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http2.c,2963,FP,"char* hash/ctx value, properly aligned heap object; spurious alignment warn",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2969,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2969,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API00-C,curl,lib/http2.c,2975,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2975,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API05-C,curl,lib/http2.c,2981,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2981,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
API00-C,curl,lib/http2.c,2987,FP,"thin export/callback; deref via setup or NULL-safe free, project idiom",curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2987,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.c,2987,FP,curl never uses C99 array-param syntax; advisory by convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http2.c,2987,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,2997,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http2.c,3004,FP,param mutated or fixed callback/vtable/exported signature; const N/A,curl_full_audit_0.4.35,med
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,33,FP,"External ngtcp2 crypto headers; names fixed by upstream library, not curl-renamable",curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,33,FP,External ngtcp2 crypto headers; names fixed by upstream library,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,33,FP,External ngtcp2 crypto headers; mutually exclusive #ifdef branches anyway,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,33,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,35,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,35,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,35,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,37,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,37,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vquic/curl_ngtcp2.c,41,FP,External ngtcp2 crypto headers; names fixed upstream,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,102,FP,Curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/curl_ngtcp2.c,212,FP,NGTCP2_MILLISECONDS is a nonzero compile-time macro constant,curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/curl_ngtcp2.c,213,FP,NGTCP2_MILLISECONDS is a nonzero compile-time macro constant,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,265,FP,H3_STREAM_CTX macro retrieves heap-allocated calloc'd struct; properly aligned,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vquic/curl_ngtcp2.c,293,FP,"[adv] hash_count==1 tests for exactly-one-stream transition (first add); intentional, but brittle idiom",curl_full_audit_0.4.35,adversarial-flip
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,306,FP,Signature fixed by Curl_uint32_hash_visit callback typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,368,FP,H3_STREAM_CTX returns heap struct; alignment fine,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,388,FP,"cf used to access ctx; static helper but cf passed through, low value",curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,391,FP,Curl_pgrs_now returns aligned curltime*; not char* reinterpret,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,394,FP,"Curl_pgrs_now returns &data->progress.t_startsingle, never NULL",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,399,FP,cf passed through to access ctx; idiomatic,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,403,FP,Curl_pgrs_now returns aligned curltime*,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,409,FP,Curl_pgrs_now never returns NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,417,FP,get_conn signature fixed by ngtcp2 crypto_conn_ref get_conn typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,425,FP,qlog_callback signature fixed by ngtcp2 settings.qlog.write typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,439,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,439,FP,qlog_callback signature fixed by ngtcp2 typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,440,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/vquic/curl_ngtcp2.c,446,FP,"ssize_t from write(); standard POSIX idiom, advisory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,455,FP,ctx mutated (settings/transport_params written) in quic_settings,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,456,FP,data read for set.connecttimeout; static helper but low value,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,457,FP,"pktx->ts read; helper, idiomatic non-const",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,496,FP,handshake_completed signature fixed by ngtcp2_callbacks typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,609,FP,ngtcp2 recv_stream_data callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,610,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,610,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,618,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,645,FP,ngtcp2 acked_stream_data_offset callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,647,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,647,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,666,FP,ngtcp2 stream_close callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,697,FP,ngtcp2 stream_reset callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,718,FP,ngtcp2 stream_stop_sending callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,719,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,720,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,737,FP,ngtcp2 extend_max_local_streams_bidi callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,753,FP,ngtcp2 extend_max_stream_data callback signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,778,FP,cb_rand signature fixed by ngtcp2 rand callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,792,FP,ngtcp2 get_new_connection_id callback signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,793,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,794,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,794,FP,ngtcp2 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,812,FP,ngtcp2 recv_rx_key callback signature fixed by typedef,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vquic/curl_ngtcp2.c,837,FP,"Static const callback table; read-only after init, no thread mutation",curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/curl_ngtcp2.c,933,FP,NGTCP2_MILLISECONDS is nonzero macro constant,curl_full_audit_0.4.35,high
INT10-C,curl,lib/vquic/curl_ngtcp2.c,933,FP,"timeout is ngtcp2_duration (uint64); operands unsigned, no negative remainder",curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/curl_ngtcp2.c,936,FP,NGTCP2_MILLISECONDS is nonzero macro constant,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,959,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,963,FP,save initialized by CF_DATA_SAVE macro before CF_DATA_RESTORE; sqc cannot expand,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,978,FP,nghttp3 stream_close callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,985,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1011,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1030,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1094,FP,nghttp3 recv_data callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1095,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1096,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1096,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1101,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1122,FP,nghttp3 deferred_consume callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1123,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1123,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1124,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1129,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1143,FP,nghttp3 end_headers callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1149,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1170,FP,nghttp3 recv_header callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1180,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vquic/curl_ngtcp2.c,1206,FP,"curlx_dyn_addn calls sequenced via if(!result) chain, not unsequenced args",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vquic/curl_ngtcp2.c,1230,FP,curlx_dyn_addn calls sequenced via if(!result) chain,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1236,FP,nghttp3 stop_sending callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1237,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1238,FP,nghttp3 callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1255,FP,nghttp3 reset_stream callback signature fixed by typedef,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vquic/curl_ngtcp2.c,1275,FP,Static const nghttp3 callback table; read-only after init,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1315,FP,"rc is int return code, not allocation; sqc misread &ctx->h3conn out-param",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1322,FP,rc is int; h3conn freed via nghttp3_conn_del in ctx_close,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1329,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1336,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1343,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1350,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1358,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,1361,FP,"rc is int return code, not allocated memory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1366,FP,"recv_closed_stream reads stream fields but stream non-const by convention; mutated via *pnread sibling pattern, low value",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1403,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1403,FP,cf_ngtcp2_recv is cfilter vtable recv impl; signature fixed by Curl_cftype,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1406,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,1416,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1474,FP,nghttp3 acked_req_body callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1480,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1506,FP,nghttp3 read_req_body data_reader signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1508,FP,nghttp3 data_reader signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1508,FP,nghttp3 data_reader signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1509,FP,nghttp3 data_reader signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1514,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1572,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vquic/curl_ngtcp2.c,1627,FP,e is a pointer reassigned each loop iteration via getn(); const would prevent reassignment,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,1628,FP,i<nheader=dynhds_count; getn returns valid entry for in-range index,curl_full_audit_0.4.35,high
INT18-C,curl,lib/vquic/curl_ngtcp2.c,1650,FP,infilesize is curl_off_t (signed); -1 compare is correct signed sentinel,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1705,FP,cf_ngtcp2_send cfilter vtable impl; signature fixed by Curl_cftype,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1709,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,1714,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vquic/curl_ngtcp2.c,1738,FP,"result is CURLcode from h3_stream_open, not an open() fd",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1804,FP,vquic recv_pkts callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1808,FP,vquic callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,1826,FP,path filled by ngtcp2_addr_init (local+remote) before use at read_pkt,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vquic/curl_ngtcp2.c,1834,FP,"buflen/offset are size_t scalars, not pointers; no sizeof scaling",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vquic/curl_ngtcp2.c,1836,FP,"buf is unsigned char*; byte-granular pointer add, no double scaling",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,1854,FP,"pktx->ts read; cf_progress_ingress helper, idiomatic non-const",curl_full_audit_0.4.35,med
MSC37-C,curl,lib/vquic/curl_ngtcp2.c,1880,FP,read_pkt_to_send: infinite for(;;) only exits via explicit returns; no fallthrough,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1880,FP,vquic sipn callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_ngtcp2.c,1881,FP,vquic callback signature fixed by typedef,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vquic/curl_ngtcp2.c,1920,FP,fin only ever 0/1; OR with ngtcp2 flag macro is value-correct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,1924,FP,vec[16] populated by nghttp3_conn_writev_stream before use; veccnt bounds reads,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,1965,FP,"buffer cast to ngtcp2 API; library copies, no aligned-int deref through char*",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,2092,FP,h3_data_pause matches cfilter cntrl dispatch convention; cf unused but kept,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,2106,FP,cf_ngtcp2_cntrl arg2 is generic void* event payload; signature fixed by vtable,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2112,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_ngtcp2.c,2125,FP,H3_STREAM_CTX returns aligned heap struct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2189,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vquic/curl_ngtcp2.c,2194,FP,"buffer[NGTCP2_MAX_UDP_PAYLOAD_SIZE] is a packet scratch buffer, not env-var sized",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2217,FP,buffer written by ngtcp2_conn_write_connection_close (out-param) before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2283,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,2336,FP,quic_tp NULL only when no 0RTT params; Curl_ossl_add_session handles NULL/len 0,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,2407,FP,quic_tp NULL only when no 0RTT params; Curl_gtls_cache_session handles NULL/len 0,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,2455,FP,tls_ctx_setup signature fixed by Curl_vquic_tls_init callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_ngtcp2.c,2512,FP,on_session_reuse reads scs fields; signature fixed by vquic_tls callback,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,2617,FP,sockaddr set by Curl_cf_socket_peek on success (guard returns on failure),curl_full_audit_0.4.35,med
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,2619,FP,rc is int; qconn out-param freed via ngtcp2_conn_del in ctx_close,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vquic/curl_ngtcp2.c,2630,FP,"&ctx->tls passed as tls ctx and as setup-callback user_data; intentional, no restrict aliasing UB",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,2640,FP,rc is int return code; qconn freed in ctx_close,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,2645,FP,rc is int return code; qconn freed in ctx_close,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,2660,FP,rc is int return code; qconn freed in ctx_close,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2687,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2778,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vquic/curl_ngtcp2.c,2837,FP,"*palpn assigned string literal/NULL (char**), not signed-char read",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_ngtcp2.c,2857,FP,save initialized by CF_DATA_SAVE macro; sqc cannot expand,curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/curl_ngtcp2.c,2870,FP,NGTCP2_MILLISECONDS is nonzero macro constant,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_ngtcp2.c,2914,FP,"create wrapper; ctx calloc-guarded, params passed to helpers not derefed directly",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_ngtcp2.c,2914,FP,"create wrapper; data forwarded to Curl_cf_udp_create, no unchecked deref",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_ngtcp2.c,2914,FP,"create wrapper; conn stored, not derefed before use",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_ngtcp2.c,2914,FP,create wrapper; ai forwarded to Curl_cf_udp_create,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_ngtcp2.c,2930,FP,result is CURLcode not alloc; cf freed via Curl_conn_cf_discard_chain on error,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_ngtcp2.c,2933,FP,cf->conn=conn only reached when Curl_cf_create returned CURLE_OK (cf non-NULL),curl_full_audit_0.4.35,high
STR31-C,curl,lib/hostip.c,126,FP,"'out' is struct dynbuf[1/2] array, not a char string buffer; misparse",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,133,FP,dns guarded by DEBUGASSERT; internal callers pass non-NULL,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hostip.c,143,FP,out[1] only compiled under CURLRES_IPV6 where array size is 2,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/hostip.c,148,FP,"#ifdef sits in if-condition body, not inside a macro invocation; misparse",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hostip.c,152,FP,"char buf[MAX_IPADR_LEN] holds inet_ntop output, no getenv involved",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/hostip.c,153,FP,dynbuf out[] initialized via curlx_dyn_init before read,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hostip.c,169,FP,out[1] read only under CURLRES_IPV6 (size 2),curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hostip.c,169,FP,out[1] read only under CURLRES_IPV6 (size 2),curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hostip.c,177,FP,out[1] freed only under CURLRES_IPV6 (size 2),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hostip.c,188,FP,"reading hinfo to pass to cleanup/free, not access after free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hostip.c,189,FP,"hinfo freed after cleanup; no use-after-free, sequential frees",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hostip.c,193,FP,curlx_free declared in curlx header sqc cannot resolve,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,203,FP,"internal helper, DEBUGASSERT(bufsize); callers pass valid addrinfo node",curl_full_audit_0.4.35,med
API05-C,curl,lib/hostip.c,203,FP,curl never uses C99 conformant array param syntax; advisory,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,209,FP,ai non-NULL by internal contract; callers iterate a non-NULL list,curl_full_audit_0.4.35,med
API05-C,curl,lib/hostip.c,233,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.c,235,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/hostip.c,237,FP,"name passed as char* to Curl_strntolower, not read as signed char",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,261,FP,"hash callback void* cast to entry struct; idiomatic, properly aligned",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hostip.c,298,FP,data is shared handle type used non-const project-wide; callback convention,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/hostip.c,300,FP,internal helper; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hostip.c,308,FP,dnscache only compared by address; const not curl convention here,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/hostip.c,310,FP,internal helper; data always valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hostip.c,315,FP,dnscache only compared by address; const not curl convention here,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/hostip.c,317,FP,internal helper; data always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,325,FP,thin entry; dnscache_get tolerates and !dnscache returns early,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,327,FP,struct pointer alignment fine; misparse of internal accessor,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,355,FP,dnscache_get null-checked before use; no unchecked deref,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,357,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hostip.c,381,FP,"char entry_id[MAX_HOSTCACHE_LEN] DNS id buffer, no getenv",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,388,FP,create_dnscache_id returns size_t length; entry_len is not a pointer,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,396,FP,"entry_len is size_t length, not allocated memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,439,FP,two Curl_hash_delete on mutually-exclusive branches; entry_id is stack,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,442,FP,"entry_len is size_t length, nothing to free",curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,459,FP,data passes to dnscache_get which handles; no unchecked deref,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,459,FP,hostname passed to fetch_addr/create_dnscache_id which handle it,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,464,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,516,FP,nodes assigned by curlx_malloc and guarded if(nodes) before deref,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,520,FP,rnd assigned by curlx_malloc and guarded if(rnd) before deref,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/hostip.c,531,FP,"rnd is unsigned int*, not const; cast adds no const removal",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/hostip.c,556,FP,"rnd freed L547, nodes freed L551 on all paths; no leak",curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,560,FP,internal; callers pass valid data (DEBUGASSERT chain),curl_full_audit_0.4.35,med
API00-C,curl,lib/hostip.c,560,FP,"hostlen is a length, not user-tainted; advisory overflow check",curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.c,563,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,572,FP,internal; data valid by contract,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,581,FP,all callers pass non-NULL hostname; strlen reached only when !hostlen,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/hostip.c,584,FP,curlx_calloc declared in curlx memory header sqc cannot resolve,curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.c,614,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hostip.c,619,FP,"char entry_id[MAX_HOSTCACHE_LEN] DNS id buffer, no getenv",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,629,FP,"entry_len is size_t length from create_dnscache_id, not memory",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,637,FP,"entry_len is size_t length, nothing to free",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,642,FP,"dns is a heap pointer returned by value, not address of a local",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,642,FP,"entry_len is size_t length, nothing to free",curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,645,FP,dnscache_get null-checked at L652 before any deref,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,648,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hostip.c,649,FP,"char id[MAX_HOSTCACHE_LEN] DNS id buffer, no getenv",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,655,FP,"idlen is size_t length from create_dnscache_id, not memory",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,655,FP,entry checked non-NULL by caller (L986 guards before add),curl_full_audit_0.4.35,med
MEM31-C,curl,lib/hostip.c,662,FP,"idlen is size_t length, nothing to free",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,666,FP,"idlen is size_t length, nothing to free",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,675,FP,name non-NULL; get_localhost6 only called with literal hostnames,curl_full_audit_0.4.35,med
STR34-C,curl,lib/hostip.c,675,FP,"name passed to strlen as char*, not read as signed char",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip.c,699,FP,"(char*)ca + sizeof(...) is correct byte arithmetic, single scaling",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/hostip.c,700,FP,"ss_size is const size_t value used in memcpy, no pointer const cast",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip.c,701,FP,(char*)ai_addr + ss_size is correct byte arithmetic,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/hostip.c,702,FP,dst (canonname region) and src (name arg) are distinct buffers,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,703,FP,"ca is a heap pointer returned by value, not a local's address",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,715,FP,name non-NULL; get_localhost called with literal hostnames,curl_full_audit_0.4.35,med
STR34-C,curl,lib/hostip.c,715,FP,"name passed to strlen as char*, not signed-char read",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hostip.c,728,FP,curlx_calloc declared in curlx header sqc cannot resolve,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip.c,736,FP,(char*)ca + sizeof(...) correct byte arithmetic,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/hostip.c,737,FP,"ss_size const size_t in memcpy, no pointer const cast",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip.c,738,FP,(char*)ai_addr + ss_size correct byte arithmetic,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/hostip.c,739,FP,dst and src are distinct buffers; no overlap,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,743,FP,ca is heap pointer returned by value,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,745,FP,ca6 is heap pointer returned by value,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,771,FP,has data? guard at L775 plus DEBUGASSERT,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,789,FP,"inet_pton writes into 'in'; it parses string, does not read in",curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.c,799,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/hostip.c,800,FP,conformant-array-syntax advisory; not curl convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,804,FP,full is non-NULL hostname from caller; internal tailmatch,curl_full_audit_0.4.35,high
INT00-C,curl,lib/hostip.c,804,FP,"guarded: if(plen>flen) return FALSE at L802, so flen>=plen",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,826,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,860,FP,dnscache_get/DEBUGASSERT; not a raw unchecked deref of data,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,860,FP,hostname DEBUGASSERTed; all callers pass validated non-NULL,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/hostip.c,867,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,888,FP,hostname guaranteed non-NULL by all callers; DEBUGASSERT follows,curl_full_audit_0.4.35,med
EXP15-C,curl,lib/hostip.c,972,FP,intentional 'if(result);' as head of else-if cleanup chain,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/hostip.c,980,FP,"*entry=dns assigns a heap pointer, not address of a local",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,992,FP,"*entry=dns assigns a heap pointer, not a local's address",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/hostip.c,997,FP,idiomatic CURLcode !Curl_resolv_check truthiness test,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hostip.c,998,FP,"*entry=dns assigns heap pointer, not a local's address",curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1014,FP,thin wrapper; forwards to Curl_resolv; DEBUGASSERT data path,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1014,FP,hostname DEBUGASSERTed at L1021 before use,curl_full_audit_0.4.35,high
SIG30-C,curl,lib/hostip.c,1051,FP,siglongjmp is on POSIX async-signal-safe list; canonical sigsetjmp pattern,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/hostip.c,1051,FP,curl_jmpenv initialized by sigsetjmp before handler can fire,curl_full_audit_0.4.35,high
SIG31-C,curl,lib/hostip.c,1051,FP,sigjmp_buf is the required jump mechanism; cannot be sig_atomic_t,curl_full_audit_0.4.35,med
API00-C,curl,lib/hostip.c,1076,FP,hostname DEBUGASSERTed at L1098,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1076,FP,"entry is an out-param; *entry=NULL is a write, always valid",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1137,FP,"sigsetjmp(curl_jmpenv,...) initializes the buffer at this very call",curl_full_audit_0.4.35,high
SIG00-C,curl,lib/hostip.c,1149,FP,query-then-set idiom preserves existing sa_mask; intentional,curl_full_audit_0.4.35,low
SIG02-C,curl,lib/hostip.c,1149,FP,SIGALRM resolve-timeout is curl's documented intentional fallback design,curl_full_audit_0.4.35,med
SIG00-C,curl,lib/hostip.c,1158,FP,sets handler via prior queried sigact; mask preserved intentionally,curl_full_audit_0.4.35,low
SIG02-C,curl,lib/hostip.c,1158,FP,"intentional SIGALRM timeout design, documented in source",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/hostip.c,1162,FP,signal() return saved in keep_sigact and restored at L1201; benign on SIG_ERR,curl_full_audit_0.4.35,med
SIG00-C,curl,lib/hostip.c,1162,FP,signal() is the explicit #else fallback when sigaction unavailable,curl_full_audit_0.4.35,med
SIG01-C,curl,lib/hostip.c,1162,FP,signal() fallback is intentional for platforms lacking sigaction,curl_full_audit_0.4.35,med
SIG02-C,curl,lib/hostip.c,1162,FP,intentional SIGALRM timeout design,curl_full_audit_0.4.35,med
SIG34-C,curl,lib/hostip.c,1162,FP,"Curl_resolv_timeout is a normal function, NOT a signal handler",curl_full_audit_0.4.35,high
SIG00-C,curl,lib/hostip.c,1196,FP,restoring saved sigaction struct; masking preserved,curl_full_audit_0.4.35,low
SIG02-C,curl,lib/hostip.c,1196,FP,intentional SIGALRM timeout design,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/hostip.c,1201,FP,signal() restore; return value not actionable here,curl_full_audit_0.4.35,med
SIG00-C,curl,lib/hostip.c,1201,FP,signal() fallback restore path; intentional,curl_full_audit_0.4.35,med
SIG01-C,curl,lib/hostip.c,1201,FP,signal() fallback restore path; intentional,curl_full_audit_0.4.35,med
SIG02-C,curl,lib/hostip.c,1201,FP,intentional SIGALRM timeout design,curl_full_audit_0.4.35,med
SIG34-C,curl,lib/hostip.c,1201,FP,not in a signal handler; normal function restore code,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,1245,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,1249,FP,dns=*pdns under if(*pdns) guard; non-NULL before refcount--,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1279,FP,dnscache_get null-checked at L1284 before deref,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/hostip.c,1281,FP,alignment fine; internal accessor misparse,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hostip.c,1288,FP,internal; data valid by contract,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hostip.c,1291,FP,"char entry_id[MAX_HOSTCACHE_LEN] DNS id buffer, no getenv",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1291,FP,entry_id stack buffer filled by create_dnscache_id before any read,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hostip.c,1315,FP,curlx_str/curlx_strlen are pure accessors on &source; no UB ordering,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,1315,FP,"entry_len is size_t length from create_dnscache_id, not memory",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1325,FP,dns assigned by Curl_hash_pick/dnscache_add_addr before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1328,FP,char address[64] written by memcpy at L1386 before read,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/hostip.c,1332,FP,VERBOSE() macro wraps a typed declaration; sqc macro misparse,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1357,FP,ai assigned by Curl_str2addr (guarded by result) before use,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hostip.c,1374,FP,curlx_str/curlx_strlen pure accessors; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hostip.c,1386,FP,memcpy args use pure accessors; no UB ordering,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/hostip.c,1387,FP,"guarded: strlen>=sizeof(address) goto err at L1383, index<64",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,1392,FP,"entry_len is size_t length, not allocated memory; head freed at err label",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,1414,FP,"entry_len is size_t length, nothing to free",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hostip.c,1418,FP,pure accessors; no unsequenced side effects,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,1418,FP,"entry_len is size_t length, not memory",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hostip.c,1446,FP,pure accessors in dnscache_add_addr args; no UB ordering,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hostip.c,1472,FP,"entry_len is size_t length, nothing to free",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hostip.c,1502,FP,result assigned on both doh and else branches before use at L1510,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/hostip.c,1518,FP,every compiled path returns CURLE_OK or Curl_async_pollset result,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1541,FP,"internal; data->conn deref is internal contract, callers valid",curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1541,FP,dns forwarded to Curl_setup_conn; not dereferenced here,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip.c,1570,FP,internal async callback; data->conn valid by contract,curl_full_audit_0.4.35,med
API00-C,curl,lib/hostip.c,1570,FP,detail null-checked via ternary at L1587,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_formparse.c,28,FP,8-char header-name collision is an obsolete-system advisory; curl uses long descriptive names by convention,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,36,FP,curlx_calloc declared via curlx headers/macros sqc cannot resolve; declaration exists,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,60,FP,curlx_strdup declared via curlx headers; not an actual missing declaration,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,64,FP,curlx_free declared via curlx headers; declaration exists,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,107,FP,curlx_strdup declared via curlx headers,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_formparse.c,109,FP,m is linked into parent->subparts and freed by tool_mime_free tree walk; not leaked,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,111,FP,curlx_free declared via curlx headers,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_formparse.c,128,FP,ftell(stdin) result is explicitly checked: origin>=0 guards the branch at line 131,curl_full_audit_0.4.35,med
ERR00-C,curl,src/tool_formparse.c,128,FP,ftell return checked via origin>=0 at line 131; duplicate of ERR33 here,curl_full_audit_0.4.35,med
PRE32-C,curl,src/tool_formparse.c,132,FP,"ftell is not a macro here; #ifdef is inside an if-condition, not a function-call argument list",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_formparse.c,137,FP,size assigned in both branches (136 and 158) before use at 167,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_formparse.c,143,FP,"single-threaded CLI form parsing; switch on file2memory return, no concurrent double-fetch",curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_formparse.c,177,FP,tree depth bounded by user mime nesting; recursion idiomatic for freeing a tree,curl_full_audit_0.4.35,med
MSC04-C,curl,src/tool_formparse.c,177,FP,direct recursion is the natural tree-free idiom; not a defect,curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_formparse.c,182,FP,"mime->prev read before curlx_free(mime) at 190; recursion frees siblings, no UAF",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,190,FP,curlx_free declared via curlx headers,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_formparse.c,195,FP,size param ignored (void)size; callback signature fixed by curl_read_callback typedef,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_formparse.c,195,FP,conformant-array-syntax advisory; curl never uses C99 array params and signature is callback-fixed,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_formparse.c,196,FP,conformant-array-syntax advisory on callback-fixed signature,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_formparse.c,216,FP,fread result captured into nitems and ferror(stdin) checked immediately after at 217,curl_full_audit_0.4.35,med
FIO17-C,curl,src/tool_formparse.c,216,FP,binary mime data read into caller buffer; no null terminator semantics apply,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_formparse.c,253,FP,tool2curlparts recurses on m->prev; depth bounded by user mime list; idiomatic,curl_full_audit_0.4.35,med
MSC04-C,curl,src/tool_formparse.c,253,FP,direct recursion over prev-list; not a defect,curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_formparse.c,274,FP,submime is non-NULL when result==OK from tool2curlmime; guarded by !result,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_formparse.c,276,FP,curl_mime_free is NULL-safe; submime here is non-NULL anyway,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_formparse.c,321,FP,"curl passed to curl_mime_init which validates; m derefed only via tool2curlparts(m->subparts), internal contract",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_formparse.c,321,FP,m always non-NULL from internal callers; m->subparts deref is internal contract,curl_full_audit_0.4.35,med
MSC04-C,curl,src/tool_formparse.c,321,FP,"mutual recursion mirrors mime tree; idiomatic, depth bounded by user input",curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_formparse.c,321,FP,"m is read but is the mutable mime tree; exported signature, const not desired here",curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_formparse.c,344,FP,char* deref compared to char literals; no sign-extension to larger type,curl_full_audit_0.4.35,high
EXP40-C,curl,src/tool_formparse.c,346,FP,word_begin is char*; ptr is char*; no const being cast away (out-param string slicing),curl_full_audit_0.4.35,med
ARR30-C,curl,src/tool_formparse.c,352,FP,while(*ptr) terminates on NUL of a NUL-terminated string copy; bounded,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,365,FP,"*end_pos set to ptr which points into caller's contents buffer, not function-local storage",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,365,FP,char* assignment; no sign extension,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_formparse.c,372,FP,*ptr2++ = *ptr++ is byte copy of chars; no flexible-array-member struct involved,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,372,FP,char byte copy in unescape loop; no sign extension to wider type,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,372,FP,ptr2 walks into the same NUL-terminated buffer; idiomatic string pointer arithmetic,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,372,FP,char byte read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,372,FP,char byte read; no sign extension,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_formparse.c,373,FP,ptr and *end_pos point into the same contents buffer; valid comparison,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,374,FP,"*end_pos=ptr2 points into caller's buffer, not function-local storage",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,374,FP,char* assignment; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,384,FP,"*str=ptr points into caller's contents buffer, valid after return",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,384,FP,char* deref/assignment; no sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,385,FP,word_begin+1 points within the input buffer; valid string arithmetic,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,395,FP,char* deref; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,395,FP,*str=*end_pos=ptr points into caller's buffer,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,395,FP,char* assignment; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,396,FP,"returns word_begin which points into caller's input buffer, not a local",curl_full_audit_0.4.35,high
EXP36-C,curl,src/tool_formparse.c,402,FP,curl_slist_append takes char*; no alignment upcast of misaligned data,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,407,FP,"*plist=s where s is from curl_slist_append (heap), not function-local",curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_formparse.c,423,FP,ptr from curlx_dyn_ptr after successful my_get_line; non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_formparse.c,444,FP,branch guarded by *pheaders non-NULL; l=*pheaders so l non-NULL,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_formparse.c,453,FP,"l->data freed at 448, reassigned at 451 via maprintf, then read; reassign not UAF",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,476,FP,char* deref; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,487,FP,*ptype=NULL pointer assignment; STR34 misfire,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,489,FP,*pfilename=NULL pointer assignment; misfire,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,493,FP,*pencoder=NULL pointer assignment; misfire,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,495,FP,"p++ skipping blanks in NUL-terminated string; idiomatic, bounded",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,497,FP,*pdata=word pointer assignment; not a char->wider sign extension,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_formparse.c,500,FP,endpos[-1] guarded by endpos > *pdata; index never negative,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_formparse.c,500,FP,"endpos set by get_param_word, always non-NULL",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,502,FP,sep=*p char read; no sign extension issue (masked &0xFF at use),curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,502,FP,char read into char sep; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,503,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_formparse.c,504,FP,"while(sep==';') driven by parse state, terminates at end of input",curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,505,FP,p++ over NUL-terminated string; idiomatic,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_formparse.c,505,FP,while(p++ && ISBLANK(*p)) modifies and reads p in separate sub-expressions with sequence point at &&,curl_full_audit_0.4.35,med
ARR37-C,curl,src/tool_formparse.c,510,FP,p+=5 to skip 'type=' prefix in string; bounded by content,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,510,FP,p++ skip blanks in string; idiomatic,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,517,FP,p+=tlen where tlen from strcspn bounds within string; valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,519,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,519,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,523,FP,*endct='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,526,FP,p+=9 skip 'filename=' prefix; bounded by string content,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,526,FP,p++ skip blanks; idiomatic,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_formparse.c,532,FP,endpos[-1] guarded by endpos > filename; index valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,534,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,534,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,535,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,539,FP,*endct='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,542,FP,p+=8 skip 'headers=' prefix; bounded by content,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,548,FP,p++ skip '@'/'<' and blanks; idiomatic string walk,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_formparse.c,554,FP,endpos[-1] guarded by endpos > hdrfile; index valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,556,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,556,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,557,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_formparse.c,558,FP,fp closed via curlx_fclose at 567 in the success branch; NULL fp not opened,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_formparse.c,558,FP,duplicate fd-leak claim; curlx_fclose closes fp; not open(),curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_formparse.c,560,FP,errbuf is an out-buffer filled by curlx_strerror; not read uninitialized,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,578,FP,p++ skip blanks in string; idiomatic,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_formparse.c,583,FP,endpos[-1] guarded by endpos > hdr; index valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,585,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,585,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,586,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,596,FP,*endct='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,599,FP,p+=8 skip 'encoder=' prefix; bounded,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,599,FP,p++ skip blanks; idiomatic,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_formparse.c,605,FP,endpos[-1] guarded by endpos > encoder; index valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,607,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,607,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,608,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,612,FP,p++ in for-loop over NUL-terminated content-type string; bounded by *p && delimiters,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_formparse.c,614,FP,endct=p+1 within string buffer; valid arithmetic,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,615,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,615,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,621,FP,sep=*p char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,621,FP,char read; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,622,FP,*endpos='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_formparse.c,623,FP,get_param_word always returns non-NULL (word_begin); unknown non-NULL,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,630,FP,*endct='\0' NUL write; not sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,633,FP,"*ptype=type where type points into caller's str buffer, not function-local",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,633,FP,pointer assignment; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,638,FP,*pfilename=filename points into caller's buffer; not local storage,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,638,FP,pointer assignment; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,643,FP,*pencoder=encoder points into caller's buffer; not local,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,643,FP,pointer assignment; no sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,648,FP,*pheaders=headers where headers is heap slist; not function-local,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,654,FP,*str=p points into caller's buffer; valid after return,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,654,FP,pointer assignment; no sign extension,curl_full_audit_0.4.35,high
INT13-C,curl,src/tool_formparse.c,655,FP,sep & 0xFF on a char promoted to int; masking already guards sign bits,curl_full_audit_0.4.35,med
PRE00-C,curl,src/tool_formparse.c,705,FP,"SET_TOOL_MIME_PTR uses field/m once each per expansion; do-while idiom, args are simple lvalues",curl_full_audit_0.4.35,med
PRE01-C,curl,src/tool_formparse.c,705,FP,field used as (m)->field member access; parenthesizing field is meaningless for member name,curl_full_audit_0.4.35,med
PRE12-C,curl,src/tool_formparse.c,705,FP,m is a simple lvalue (part); no side effects from multiple evaluation in practice,curl_full_audit_0.4.35,med
MEM33-C,curl,src/tool_formparse.c,738,FP,*mimecurrent=*mimeroot pointer assignment; no flexible-array struct copy,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_formparse.c,742,FP,curlx_strdup declared via curlx headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,752,FP,*contp++='\0' NUL write splitting name=value; not sign extension,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_formparse.c,762,FP,*mimecurrent=part where part is heap tool_mime; not function-local,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_formparse.c,767,FP,"!strcmp(contp, "")"") boolean idiom for option matching; idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_formparse.c,876,FP,"*contp=(char)sep restoring a delimiter byte; explicit char cast, no sign extension",curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,88,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/http.c,90,FP,sizeof(*neg) on real struct pointer; correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,126,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,126,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,150,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,150,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,150,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,152,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,200,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,200,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,206,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,227,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,243,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,284,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,285,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http.c,308,FP,all real paths return; switch covers cases,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,308,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,315,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/http.c,348,FP,Windows EncodePointer advisory; N/A to portable code,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/http.c,352,FP,Windows EncodePointer advisory; N/A to portable code,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/http.c,355,FP,Windows EncodePointer advisory; N/A to portable code,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/http.c,358,FP,Windows EncodePointer advisory; N/A to portable code,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/http.c,362,FP,Windows EncodePointer advisory; N/A to portable code,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/http.c,394,FP,type specifier present; parse artifact,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,591,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,593,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,593,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,593,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,594,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,594,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,607,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,613,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,613,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,615,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,615,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,619,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,688,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,691,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,707,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,756,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,774,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,846,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,847,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,870,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,892,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,893,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,893,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,893,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,893,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,894,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,894,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,896,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,904,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1012,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1012,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http.c,1012,FP,all real paths return; switch covers cases,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/http.c,1057,FP,"auth scheme name / HTTP token, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/http.c,1065,FP,"auth scheme name / HTTP token, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/http.c,1069,FP,"auth scheme name / HTTP token, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/http.c,1073,FP,"auth scheme name / HTTP token, not a credential",curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1115,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1115,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,1123,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
EXP00-C,curl,lib/http.c,1186,FP,precedence is correct; advisory parenthesization,curl_full_audit_0.4.35,high
EXP00-C,curl,lib/http.c,1186,FP,precedence is correct; advisory parenthesization,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1246,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1254,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1254,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1255,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1255,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1264,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1267,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1267,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1274,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1276,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1276,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1277,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1279,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1279,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1280,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1281,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1281,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1282,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1293,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1293,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1323,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1323,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1324,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1324,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1325,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1325,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1326,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1326,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1348,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1348,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1349,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1349,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1350,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1350,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1351,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1351,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1363,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1363,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1364,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1364,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1365,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1365,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1366,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1366,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1367,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1367,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1405,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,1405,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,1406,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,1408,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,1427,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,1427,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,1454,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,1465,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,1515,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,1543,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,1545,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,1546,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,1556,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http.c,1556,FP,char* through creader API; alignment fine in practice,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,1563,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http.c,1563,FP,char* through creader API; alignment fine in practice,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,1573,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http.c,1573,FP,char* through creader API; alignment fine in practice,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,1580,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/http.c,1580,FP,char* through creader API; alignment fine in practice,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1587,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1587,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1594,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,1612,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP00-C,curl,lib/http.c,1621,FP,precedence is correct; advisory parenthesization,curl_full_audit_0.4.35,high
INT14-C,curl,lib/http.c,1621,FP,bitwise+arith readability advisory,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/http.c,1622,FP,"integer division (httpcode/100), not floating point",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,1654,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,1725,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,1781,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1801,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1807,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1811,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1815,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1820,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1823,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,1827,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,1917,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,1918,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,1926,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http.c,1969,FP,"request points to string literals, not local; valid after return",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,1969,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1980,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1980,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1994,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1996,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1997,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,1997,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2000,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2001,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2006,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2006,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2007,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2007,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP43-C,curl,lib/http.c,2028,FP,memmove on intentionally overlapping regions; correct tool,curl_full_audit_0.4.35,high
INT32-C,curl,lib/http.c,2028,FP,strlen(cookiehost)-1 with cookiehost non-empty (starts with [),curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,2031,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,2037,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2046,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2070,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,2080,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,2106,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,2106,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,2155,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2157,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,2185,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,2210,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2211,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MSC07-C,curl,lib/http.c,2260,FP,reachable; break/return inside switch case is normal,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,2313,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,2374,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,2426,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http.c,2443,FP,all real paths return; switch covers cases,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2476,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2499,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/http.c,2500,FP,"adjacent string-literal concatenation, not a preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/http.c,2500,FP,"adjacent string-literal concatenation, not a preprocessor directive",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/http.c,2510,FP,reachable; break/return inside switch case is normal,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2531,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2607,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2609,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2609,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2610,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2610,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2611,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2611,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2612,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2612,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2612,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2616,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2619,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2619,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2621,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2621,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2625,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2625,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2630,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2630,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2635,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2635,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2636,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2636,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2637,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2637,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2638,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2638,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2641,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2641,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2646,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2646,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2648,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2648,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2650,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2650,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2650,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2727,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2731,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,2736,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,2765,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2911,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2917,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/http.c,2925,FP,reachable; break/return inside switch case is normal,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2926,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2926,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2927,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2928,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2930,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2934,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2934,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2935,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2935,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2936,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2938,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2938,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2945,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2946,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2946,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,2957,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2965,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2966,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2966,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2966,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2967,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2967,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,2967,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,3011,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,3011,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3108,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3108,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3110,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3110,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3123,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3123,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,3125,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,3134,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3135,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,3156,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3157,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,3170,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3171,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/http.c,3184,FP,HD_IS/HD_VAL macros local; multiple-eval args are pure,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/http.c,3184,FP,macro multi-eval of pure args; idiomatic local macro,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/http.c,3187,FP,HD_IS/HD_VAL macros local; multiple-eval args are pure,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/http.c,3187,FP,macro multi-eval of pure args; idiomatic local macro,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/http.c,3193,FP,HD_IS/HD_VAL macros local; multiple-eval args are pure,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/http.c,3193,FP,macro multi-eval of pure args; idiomatic local macro,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3202,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
CON34-C,curl,lib/http.c,3211,FP,getenv static-storage advisory; single-threaded config path,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3236,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,3252,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http.c,3252,FP,char* deref in string parsing; no harmful sign-extension,curl_full_audit_0.4.35,high
INT18-C,curl,lib/http.c,3266,FP,k->size is signed curl_off_t; ==-1 compare valid,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,3267,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3309,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,3310,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3373,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,3393,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3433,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,3484,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3499,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/http.c,3511,TP,time(NULL) return unchecked; degenerate -1 harmless but technically a violation,curl_full_audit_0.4.35,low
API05-C,curl,lib/http.c,3532,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
CON34-C,curl,lib/http.c,3566,FP,getenv static-storage advisory; single-threaded config path,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3595,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3641,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3662,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/http.c,3735,FP,reachable; break/return inside switch case is normal,curl_full_audit_0.4.35,high
INT18-C,curl,lib/http.c,3810,FP,k->size is signed curl_off_t; ==-1 compare valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3826,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/http.c,3838,FP,intentional empty-body if/else filter ladder with comments,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,3852,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3880,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,3881,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
INT30-C,curl,lib/http.c,3953,FP,pconsumed += blen bounded by recv buffer; no wrap,curl_full_audit_0.4.35,high
INT30-C,curl,lib/http.c,3963,FP,pconsumed += blen bounded by recv buffer; no wrap,curl_full_audit_0.4.35,high
INT18-C,curl,lib/http.c,3993,FP,k->size is signed curl_off_t; ==-1 compare valid,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,4101,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http.c,4166,FP,data->req.newurl/h are lifecycle members freed elsewhere; not a leak,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4170,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4171,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http.c,4177,FP,loop bounded by NUL terminator / null-terminated buffer index,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4195,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
INT30-C,curl,lib/http.c,4198,FP,pconsumed += blen bounded by recv buffer; no wrap,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http.c,4225,FP,idiomatic !strcmp/!checkheaders boolean test,curl_full_audit_0.4.35,high
CON43-C,curl,lib/http.c,4227,FP,switch on *p over stable header buffer; no concurrent double-fetch,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,4344,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4363,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4382,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4428,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,4490,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4531,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4532,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http.c,4538,FP,loop bounded by NUL terminator / null-terminated buffer index,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4553,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4569,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4579,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4579,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http.c,4579,FP,all real paths return; switch covers cases,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4580,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,4591,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4609,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4609,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4609,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http.c,4619,FP,style: could be const; not a defect,curl_full_audit_0.4.35,high
INT07-C,curl,lib/http.c,4625,FP,char digit arithmetic in status parse; benign,curl_full_audit_0.4.35,high
INT08-C,curl,lib/http.c,4625,FP,narrow char arithmetic on digit; benign,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4633,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4634,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4635,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4636,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4637,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,4644,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4763,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4763,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4763,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4764,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http.c,4765,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,4773,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,4811,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,4812,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
ARR02-C,curl,lib/http.c,4823,FP,H2_NON_FIELD[] sized by initializer; bounds implicit by design,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http.c,4832,FP,callback/vtable or struct-mutating signature; const not addable,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http.c,4847,FP,loop bounded by NUL terminator / null-terminated buffer index,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http.c,4859,FP,loop bounded by NUL terminator / null-terminated buffer index,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4874,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
API00-C,curl,lib/http.c,4874,FP,thin wrapper / DEBUGASSERT-guarded; sibling NULL not deref here,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,4885,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4911,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4914,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4918,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http.c,4922,FP,"STRCONST macro expands to (s,sizeof-1); no real unsequenced side effects",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http.c,4929,FP,"pointer guarded (len&&, calloc-assigned, DEBUGASSERT) before deref",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/http.c,4930,FP,"auth scheme name / HTTP token, not a credential",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http.c,4950,FP,variable assigned by calloc/parse before use; not uninitialized,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/http.c,4971,FP,resp->prev chain short/bounded; not excessive recursion,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/http.c,4971,TP,Curl_http_resp_free directly recurses on resp->prev chain,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/http.c,4975,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,4976,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http.c,4977,FP,free of distinct struct member or free+reassign; not UAF (struct-poison FP),curl_full_audit_0.4.35,high
DCL15-C,curl,lib/http.c,5011,FP,Curl_scheme_* exported via header; intentionally non-static,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/http.c,5011,FP,file-scope scheme table referenced cross-file via header,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/http.c,5028,FP,Curl_scheme_* exported via header; intentionally non-static,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/http.c,5028,FP,file-scope scheme table referenced cross-file via header,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_doswin.c,60,FP,DJGPP runtime-mandated callback name; spelling fixed by toolchain (shim),curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_doswin.c,60,FP,signature fixed by DJGPP runtime; arg is (void)cast unused,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_doswin.c,92,FP,advisory C99 array-param style; curl never uses it,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,113,FP,char read/index into real array; no sign-extension defect,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,115,FP,p points into real string buffer (path); valid pointer walk,curl_full_audit_0.4.35,high
ENV01-C,curl,src/tool_doswin.c,140,FP,dos_name[PATH_MAX] not fed by getenv; bounded by strlen guard,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,155,FP,"*sanitized=NULL pointer null-assign, not char sign-extension",curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,171,FP,char assignment *d=*s misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,171,FP,char-to-char copy into dos_name array; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,171,FP,char-to-char copy; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,171,FP,char-to-char copy; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,172,FP,assigning char literal to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,181,FP,char literal assigned to char; no sign extension,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,183,FP,char assignment misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,183,FP,char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,183,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,183,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,194,FP,char assignment misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,194,FP,char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,194,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,194,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,198,FP,char assignment misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,198,FP,char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,198,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,198,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,202,FP,char assignment misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,202,FP,char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,202,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,202,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,205,FP,char literal '_' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,209,FP,char literal '.' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,212,FP,char literal '-' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,215,FP,char literal '.' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,222,FP,char literal 'x' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,225,FP,char literal 'x' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,230,FP,char literal 'x' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,233,FP,char literal 'x' assigned to char; no widening,curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_doswin.c,236,FP,"memcpy(d,""plus"",4); d is non-const char*, no cast present",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,244,FP,char literal '_' assigned to char; no widening,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_doswin.c,247,FP,char assignment misparsed as flexible-array struct copy,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,247,FP,char-to-char copy; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,247,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,247,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,255,FP,NUL terminator '\0' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,265,FP,"*sanitized pointer assignment from strdup, not char sign-ext",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,299,FP,"*sanitized=NULL pointer null-assign, not char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,305,FP,"*sanitized pointer assignment from strdup, not char sign-ext",curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_doswin.c,321,FP,buffer=malloc(len+3); memcpy len+1 within bounds,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_doswin.c,321,FP,len+1 from strlen cannot overflow in practice; bounded,curl_full_audit_0.4.35,high
STR31-C,curl,src/tool_doswin.c,321,FP,memcpy of len+1 includes NUL; buffer sized correctly,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,332,FP,char compared/promoted to ASCII match; categorical char FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,333,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,334,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,335,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,336,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,337,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,337,FP,char promoted in comparison; ASCII values; categorical FP,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,338,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,338,FP,p[3] char compared to ASCII range; categorical char FP,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,338,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,338,FP,p[3] char compared to ASCII range; categorical char FP,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,346,FP,wrong buffer assoc (line731 buffer is other fn); p is heap string,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,346,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,349,FP,wrong buffer assoc; p walks NUL-terminated heap string,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,349,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,350,FP,wrong buffer assoc; index x bounded by NUL scan,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,350,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,353,FP,wrong buffer assoc; index x bounded by NUL scan,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,353,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,355,FP,wrong buffer assoc; index x bounded by NUL scan,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,355,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_doswin.c,360,FP,wrong buffer assoc; index x bounded by NUL scan,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,360,FP,p indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_doswin.c,367,FP,memmove p_len+1 within buffer that has 2 spare bytes,curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_doswin.c,367,FP,memmove handles overlap by design; args not restrict,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_doswin.c,367,FP,p_len+1 from strlen cannot overflow; bounded,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,367,FP,p points into heap buffer; valid pointer arithmetic,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,368,FP,p[0] write into heap string buffer; valid,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,387,FP,base char promoted; categorical char FP,curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_doswin.c,393,FP,memmove blen+1 guarded by len==bufsize-1 check above,curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_doswin.c,393,FP,memmove handles overlap by design; args not restrict,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_doswin.c,393,FP,blen+1 from strlen cannot overflow; bounded,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_doswin.c,400,FP,"buffer is curlx_malloc heap, valid after return; not stack-local",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,400,FP,"*sanitized pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,443,FP,"*sanitized=NULL pointer null-assign, not char sign-extension",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_doswin.c,455,FP,!strncmp boolean idiom; idiomatic prefix test,curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_doswin.c,455,FP,"target is heap strdup string, not size-3 buffer; false size",curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,457,FP,target+4 into heap string with verified \\?\ prefix; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,463,FP,p walks heap string buffer; valid pointer increment,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_doswin.c,464,FP,banned assigned in inner for-init before use; not uninitialized,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,469,FP,char literal '_' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,475,FP,char literal '_' assigned to char; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,485,FP,target[len] addressing into heap string; char index FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,485,FP,char read into char; no sign extension,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,485,FP,target indexes into heap string buffer; valid array access,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_doswin.c,487,FP,"p walks heap string, guarded by p!=target; valid",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,494,FP,NUL '\0' assigned to char; no widening,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_doswin.c,501,FP,sc assigned by msdosify() before if(sc) test; not uninitialized,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_doswin.c,507,FP,target freed once then reassigned to fresh p; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_doswin.c,507,FP,"p is fresh callee allocation; target free then reassign, no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_doswin.c,507,FP,&p out-param written by callee before target freed; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_doswin.c,508,FP,target freed once per branch then reassigned; not double-free,curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_doswin.c,515,FP,DEBUGBUILD-only getenv in single-threaded CLI init; idiomatic,curl_full_audit_0.4.35,med
CON34-C,curl,src/tool_doswin.c,517,FP,DEBUGBUILD-only getenv in single-threaded CLI init; idiomatic,curl_full_audit_0.4.35,med
DCL30-C,curl,src/tool_doswin.c,521,FP,target is heap allocation valid after return; not stack-local,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_doswin.c,521,FP,"*sanitized pointer assignment from heap target, not char sign-ext",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_doswin.c,548,FP,internal fn; config always valid from callers; never NULL,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_doswin.c,548,FP,bundle_file passed to SearchPath which tolerates it; caller-valid,curl_full_audit_0.4.35,med
ENV01-C,curl,src/tool_doswin.c,553,FP,buf[MAX_PATH] filled by SearchPath with MAX_PATH cap; not getenv,curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_doswin.c,558,FP,SearchPath args are distinct pointers; no aliasing,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_doswin.c,562,FP,free(cacert) then reassign from convert(); free-reassign not UAF,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_doswin.c,599,FP,"sizeof()*2 is compile-time constant array size, not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_doswin.c,642,FP,static struct zero-initialized by default; not uninitialized,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_doswin.c,669,FP,!curlx_verify_windows_version boolean idiom; idiomatic,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_doswin.c,685,TP,"atexit() return unchecked; can fail, cleanup silently not registered",curl_full_audit_0.4.35,low
EXP36-C,curl,src/tool_doswin.c,709,FP,void* thread param from calloc'd struct; properly aligned,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_doswin.c,758,FP,statics accessed only from main thread; worker never touches them,curl_full_audit_0.4.35,med
CON03-C,curl,src/tool_doswin.c,762,FP,stdin_thread single-thread access; no cross-thread visibility issue,curl_full_audit_0.4.35,med
CON03-C,curl,src/tool_doswin.c,763,FP,socket_r single-thread access; no cross-thread visibility issue,curl_full_audit_0.4.35,med
DCL00-C,curl,src/tool_doswin.c,763,FP,socket_r is reassigned at lines 832/870; cannot be const,curl_full_audit_0.4.35,high
ERR06-C,curl,src/tool_doswin.c,766,FP,debug invariant assert; deliberate; not error-handling path,curl_full_audit_0.4.35,med
ERR06-C,curl,src/tool_doswin.c,769,FP,debug invariant assert; deliberate; not error-handling path,curl_full_audit_0.4.35,med
POS02-C,curl,src/tool_doswin.c,795,FP,bind to loopback ephemeral port is not a privileged operation,curl_full_audit_0.4.35,high
POS02-C,curl,src/tool_doswin.c,806,FP,listen on loopback socket is not a privileged operation,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_doswin.c,812,FP,GetCurrentProcess/GetStdHandle side-effect-free; no unsequenced UB,curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_doswin.c,812,FP,DuplicateHandle source/dest are distinct pointers; no aliasing,curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_doswin.c,823,FP,CreateThread args are distinct pointers; no aliasing,curl_full_audit_0.4.35,high
WIN01-C,curl,src/tool_doswin.c,874,TP,TerminateThread genuinely flagged hazardous API; curl uses as last resort,curl_full_audit_0.4.35,low
ERR06-C,curl,src/tool_doswin.c,891,FP,debug invariant assert; deliberate; not error-handling path,curl_full_audit_0.4.35,med
API05-C,curl,lib/vtls/gtls.c,84,FP,"gtls_push is a gnutls transport callback; signature fixed, curl never uses C99 array syntax",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,84,FP,"callback signature; conformant-array advisory, curl convention",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,108,FP,"gtls_pull gnutls callback; fixed signature, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,108,FP,callback signature; conformant-array advisory,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/gtls.c,203,FP,f closed via curlx_fclose(f) at out: label on every path,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/gtls.c,203,FP,"f is FILE* via fopen, closed at line 219; not an fd leak",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/gtls.c,206,FP,filelen assigned/read in || chain; short-circuit gives sequence points,curl_full_audit_0.4.35,high
FIO14-C,curl,lib/vtls/gtls.c,206,FP,"stream opened binary 'rb'; SEEK_END on binary is curl idiom, not text UB",curl_full_audit_0.4.35,med
FIO19-C,curl,lib/vtls/gtls.c,206,FP,ftell-for-size advisory; established curl idiom with full error checking,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/vtls/gtls.c,207,FP,ftell return checked: (filelen = ftell(f)) < 0 guards,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/vtls/gtls.c,207,FP,ftell result checked < 0 in same condition,curl_full_audit_0.4.35,high
EXP45-C,curl,lib/vtls/gtls.c,209,FP,"malloc-in-condition with negation guard; idiomatic, result checked",curl_full_audit_0.4.35,med
INT31-C,curl,lib/vtls/gtls.c,209,FP,filelen guarded >=0 by prior < 0 short-circuit before cast,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,209,FP,filelen assigned by ftell earlier in same || chain before use,curl_full_audit_0.4.35,high
FIO17-C,curl,lib/vtls/gtls.c,211,FP,"loaded_file holds binary cert data, not a NUL-terminated C string",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,211,FP,ptr guarded by !(ptr=malloc()) goto out before fread,curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/gtls.c,211,FP,filelen non-negative after guard,curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/gtls.c,211,FP,filelen non-negative after guard,curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/gtls.c,217,FP,filelen non-negative after guard,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/gtls.c,220,FP,f closed at out:; ptr ownership returned via loaded_file.data,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/gtls.c,220,FP,"loaded_file.data is live allocation or NULL, not freed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,320,FP,"peer read-only here but curl does not const-qualify; static helper, marginal",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,321,FP,"conn_config read-only; curl convention, not const-qualified",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,341,FP,*prioritylist is char** assigned a string-literal pointer; no signed-char read,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vtls/gtls.c,345,FP,"ssl_version OR'd as switch discriminant of curl enum constants; bounded, idiomatic",curl_full_audit_0.4.35,med
STR34-C,curl,lib/vtls/gtls.c,347,FP,"char** pointer assignment of literal, no char sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,351,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,355,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,359,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,363,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,367,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,371,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,375,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,378,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/gtls.c,382,FP,char** literal pointer assignment,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/gtls.c,391,FP,"data derefed only via Curl_pgrs_now; caller-validated, curl never null-checks data here",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vtls/gtls.c,398,FP,shared = calloc(...) assigned and NULL-checked before deref,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vtls/gtls.c,410,FP,"shared->time = *Curl_pgrs_now() is plain struct copy, no flexible array",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/gtls.c,411,FP,"shared is heap calloc, not automatic storage; valid after return",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,418,FP,creds caller-validated via DEBUGASSERT; up_ref takes non-null arg,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/gtls.c,444,FP,"false alignment: Curl_ssl_cf_get_config accessor return cast, not raw char*",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,448,FP,config from cf accessor always returns valid pointer,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,454,FP,ssl_config from cf accessor always valid,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,460,FP,rc assigned at 459 in same #else branch before use at 460,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/gtls.c,555,FP,"hash-key string 'tls:gtls:x509:share', not a credential",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,574,FP,conn_config from accessor always valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/gtls.c,592,FP,"shared_creds from hash_pick is heap, not local automatic storage",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,598,FP,hash dtor callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,598,FP,hash dtor key param fixed by function-pointer typedef; cannot const-qualify,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,598,FP,hash dtor callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,598,FP,hash dtor p param fixed by typedef,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/gtls.c,602,FP,!memcmp inside DEBUGASSERT; idiomatic boolean test,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,621,FP,conn_config from accessor always valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/gtls.c,639,FP,cf passed to accessor which handles it; siblings never null-check cf,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/gtls.c,639,FP,"data caller-validated; internal entry, curl convention",curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vtls/gtls.c,644,FP,"false alignment on accessor return, not raw char*",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,654,FP,conn_config accessor always valid,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,657,FP,ssl_config accessor always valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,690,FP,public API ssl_peer_key param; curl never uses array syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,693,FP,alpn param advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,694,FP,quic_tp param advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,807,FP,gtls is read here but curl does not const-qualify gtls_ctx*; convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,819,FP,conn_config accessor always valid,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/gtls.c,869,FP,false alignment on accessor return,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,876,FP,config accessor always valid,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,883,FP,"'result' is a CURLcode return code, not allocated memory; misclassified allocator",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,892,FP,rc assigned before each use in SRP branch,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,895,FP,"result is CURLcode, not memory; real alloc in gtls->shared_creds freed by close",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,900,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,909,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,914,FP,ssl_config accessor always valid,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,949,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,956,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/gtls.c,966,FP,!!gnutls_check_version is explicit bool coercion idiom,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,971,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,981,FP,prioritylist set via &prioritylist out-param at line 976 before use,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1000,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1021,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1033,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1043,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1052,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/gtls.c,1056,FP,"result is CURLcode return value, not a pointer",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/gtls.c,1095,FP,"cf handled by accessor; public init, siblings don't null-check",curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/gtls.c,1095,FP,data caller-validated entry point; curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/gtls.c,1100,FP,"cb_setup is a function pointer param, not derefed as data; const N/A",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1103,FP,sess_reuse_cb is a function pointer param; const N/A,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/gtls.c,1106,FP,false alignment on accessor return,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/gtls.c,1108,FP,"gtls_alpns[] is a gnutls_datum_t array, no getenv involved",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,1121,FP,conn_config accessor always valid,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/gtls.c,1141,FP,ssl_config accessor always valid,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,1183,FP,"alpns filled by Curl_alpn_copy(&alpns,...) at line 1116 before use",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/gtls.c,1187,FP,gtls_alpns[i] written in loop before read by gnutls_alpn_set_protocols,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1314,FP,gctx read-only but curl does not const gtls_ctx*; public fn convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/gtls.c,1322,FP,gnutls_kx/cipher/mac_get are pure getters; no shared-state side effects,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1336,FP,"peer read-only; static helper but curl convention, not const-qualified",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/gtls.c,1341,FP,certname is written by gnutls_x509_crt_get_dn_by_oid and certname[0]=0; not const,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/gtls.c,1404,FP,certfields.data re-populated by get_issuer_dn2 at 1400 after free at 1397,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/gtls.c,1406,FP,"distinct allocation freed once; reassigned between frees, no double-free",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1530,FP,cf is callback param ((void)cf); signature fixed by gtls_chain_get_der typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1531,FP,data is callback param ((void)data); fixed callback signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,1532,FP,callback signature fixed; conformant-array advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1532,FP,user_data callback param fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,1534,FP,pder out-param callback signature; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1569,FP,config read-only here but public fn; curl does not const-qualify,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,1570,FP,ssl_config->certverifyresult written via certverifyresult ptr; not const-able,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/gtls.c,1588,FP,chain.certs/num_certs set by gnutls_certificate_get_peers before read,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/gtls.c,1835,FP,all paths set result and reach 'return result' via out: label,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/gtls.c,1841,FP,false alignment on accessor return,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vtls/gtls.c,1844,FP,data->set.str[] indexed by enum constant; misattributed to unrelated char str[96],curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vtls/gtls.c,1845,FP,data->set.str[] enum-constant index; bogus buffer attribution,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vtls/gtls.c,1847,FP,data->set.str[] enum-constant index; bogus buffer attribution,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/gtls.c,1868,FP,gtls_send_earlydata returns result at end via out: label on all paths,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,2029,FP,gtls_data_pending is a vtable impl; signature fixed by Curl_ssl backend struct,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2046,FP,"gtls_send vtable impl; signature fixed, advisory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/gtls.c,2184,FP,gtls_close frees distinct backend->gtls members; backend->gtls itself not freed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2192,FP,gtls_recv vtable impl; signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2233,FP,"Curl_gtls_version public API; fixed signature, advisory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,2239,FP,gtls_random vtable callback ((void)data); signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2240,FP,gtls_random entropy vtable param; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2248,FP,gtls_sha256sum vtable impl; signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/gtls.c,2250,FP,gtls_sha256sum output param vtable; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/gtls.c,2265,FP,gtls_get_internals vtable impl; signature fixed by Curl_ssl struct,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/rtsp.c,73,FP,[adv] RTP_PKT_LENGTH evaluates (p) multiple times; idiomatic curl macro but rule applies,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/rtsp.c,73,FP,"[adv] Macro evaluates param p (p[2],p[3]) multiple times; could be inline function",curl_full_audit_0.4.35,adversarial-flip
API05-C,curl,lib/rtsp.c,88,FP,Curl never uses C99 array-param syntax; dtor callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/rtsp.c,88,FP,rtsp_easy_dtor key param fixed by Curl_meta_dtor function-pointer typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,88,FP,"conformant-array advisory; curl convention, callback signature",curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,96,FP,dtor callback signature fixed by typedef; curl never uses array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/rtsp.c,96,FP,rtsp_conn_dtor key fixed by Curl_meta_dtor typedef; cannot add const,curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,96,FP,conformant-array advisory; callback signature,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/rtsp.c,111,FP,rtspc assigned by calloc then null-checked before deref; not uninitialized,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/rtsp.c,121,FP,"meta_set calls dtor on failure (url.c:3876); ownership transferred, no leak",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/rtsp.c,123,FP,"success return; rtspc/rtsp owned by meta hash with dtors, freed at cleanup",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/rtsp.c,168,FP,Curl_meta_get returns void* to heap struct stored as RTSP*; properly aligned,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,242,FP,"!Curl_checkheaders idiom; returns ptr, ! tests NULL = header-absent, clear",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,251,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/rtsp.c,252,FP,"adjacent string-literal concatenation across lines, no preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/rtsp.c,252,FP,"adjacent string literals, not a #directive in args",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,260,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/rtsp.c,261,FP,"adjacent string-literal concatenation, no preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/rtsp.c,261,FP,"adjacent string literals across lines, not #directive",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/rtsp.c,284,FP,Curl_meta_get void* to heap-allocated RTSP struct; aligned,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,403,FP,free-then-reassign: curlx_free then aptr.rtsp_transport=maprintf; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,403,FP,data->state is struct member never freed; free-reassign pattern,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,404,FP,"reassignment of freed member, not a read of freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,404,FP,data->state struct not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,406,FP,"data->set.str read, unrelated to freed aptr.rtsp_transport",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,407,FP,"reads reassigned (maprintf result) rtsp_transport, not freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,407,FP,aptr re-populated before this null-check,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,407,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,417,FP,"reads reassigned rtsp_transport (maprintf), not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,417,FP,aptr live after reassignment,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,417,FP,data->state not freed,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,427,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,428,FP,"data->set.str read, unrelated to freed accept_encoding",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,429,FP,free-then-reassign accept_encoding=maprintf; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,429,FP,data->state struct not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,430,FP,reassignment target of freed member; not read of freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,430,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,432,FP,"data->set.str read, unrelated",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,434,FP,"reads reassigned accept_encoding (maprintf), not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,434,FP,aptr live after reassignment,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,434,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,438,FP,reads reassigned accept_encoding into p_accept_encoding; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,438,FP,aptr live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,438,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,447,FP,"Curl_safefree nulls uagent; this is the free site, not a UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,447,FP,aptr struct member not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,447,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,448,FP,safefree call site nulls pointer; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,448,FP,data->state not freed,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,450,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,451,FP,data->set.str read; uagent not freed on this branch (else of safefree),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,452,FP,else-branch reads live uagent (safefree only in if-branch); not freed here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,452,FP,aptr not freed on this path,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,452,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,462,FP,reads proxyuserpwd; not freed in this function,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,462,FP,aptr not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,462,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,464,FP,reads userpwd; freed only later at 551 (after use),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,464,FP,aptr not freed at this point,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,464,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,467,FP,"Curl_safefree(ref) nulls it; this is free site, reassigned at 470",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,467,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,468,FP,"reads state.referer (bufref), unrelated to freed aptr.ref",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,468,FP,data->state not freed,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,469,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,470,FP,reassignment target aptr.ref=maprintf; not UAF (was safefree'd null at 467),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,470,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,471,FP,"reads state.referer bufref, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,471,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,473,FP,reads reassigned aptr.ref into p_referrer; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,473,FP,aptr live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,473,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,481,FP,reads state.use_range bool; nothing freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,481,FP,data->state not freed,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,485,FP,!Curl_checkheaders NULL test idiom,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,485,FP,reads state.range; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,485,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,486,FP,"curlx_free(rangeline) is free site, reassigned at 487; not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,486,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,487,FP,reassignment target rangeline=maprintf; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,487,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,488,FP,reads state.range arg to maprintf; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,488,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,489,FP,reads reassigned rangeline into p_range; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,489,FP,aptr live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,489,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,551,FP,Curl_safefree(userpwd) free site after p_userpwd already consumed at 545,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,551,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,585,FP,increments rtsp_next_client_CSeq counter; nothing freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,585,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,587,FP,reads req.writebytecount counter; nothing freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,587,FP,data->req not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,590,FP,passes writebytecount to pgrs; nothing freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/rtsp.c,590,FP,data->req not freed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/rtsp.c,602,FP,"rtspc modified: rtp_write_body_junk passes to fns; rtspc->in_header read, member writes elsewhere in flow",curl_full_audit_0.4.35,med
API05-C,curl,lib/rtsp.c,603,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,622,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,666,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/rtsp.c,726,FP,"DEBUGASSERT(curlx_dyn_len==1) is an assertion of exact state, not boolean test",curl_full_audit_0.4.35,high
INT13-C,curl,lib/rtsp.c,727,FP,"off=buf[0]%8 is 0-7, non-negative bounded; 1<<off safe",curl_full_audit_0.4.35,high
INT34-C,curl,lib/rtsp.c,727,FP,off in 0-7 (mod 8 of unsigned char); shift always valid,curl_full_audit_0.4.35,high
STR34-C,curl,lib/rtsp.c,763,FP,"curlx_dyn_len return, not a *buf char sign-extension; misparse",curl_full_audit_0.4.35,med
STR34-C,curl,lib/rtsp.c,782,FP,curlx_dyn_len return; not char sign-extension; misparse,curl_full_audit_0.4.35,med
API05-C,curl,lib/rtsp.c,838,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
INT18-C,curl,lib/rtsp.c,887,FP,"req.size is signed curl_off_t; <= -1 compares signed, no unsigned conversion",curl_full_audit_0.4.35,high
API05-C,curl,lib/rtsp.c,926,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
INT10-C,curl,lib/rtsp.c,960,FP,chan from curlx_str_number(max 255) is non-negative; off=chan%8 well-defined,curl_full_audit_0.4.35,high
INT31-C,curl,lib/rtsp.c,961,FP,"off 0-7, (1<<off) max 128 fits unsigned char; no upper bits lost",curl_full_audit_0.4.35,high
INT34-C,curl,lib/rtsp.c,961,FP,off in 0-7; shift always valid,curl_full_audit_0.4.35,high
INT13-C,curl,lib/rtsp.c,961,FP,off non-negative bounded 0-7; signed shift safe,curl_full_audit_0.4.35,high
API00-C,curl,lib/rtsp.c,976,FP,Curl_rtsp_parseheader is internal; data/header always non-NULL from callers (resp parser),curl_full_audit_0.4.35,med
API00-C,curl,lib/rtsp.c,976,FP,header param always valid from header-parse callers; internal fn,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/rtsp.c,980,FP,Curl_meta_get void* to heap RTSP struct; aligned,curl_full_audit_0.4.35,high
STR34-C,curl,lib/rtsp.c,981,FP,"&header[5] is pointer arithmetic to char*, not signed-char sign extension",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/rtsp.c,996,FP,header is const char* param; header+8 is string ptr arithmetic; misparse of header[5] subscript as array,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/rtsp.c,1038,FP,header is const char* param; header+10 valid string arithmetic; not a 5-element array,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/rtsp.c,1073,FP,"Curl_scheme_rtsp has external linkage (declared in header, used by url.c scheme table)",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/rtsp.c,1073,FP,file-scope scheme table intentionally exported; cannot be function-local,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vtls/vtls_scache.c,43,FP,8-char header-name collision is irrelevant on modern systems; advisory noise,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vtls/vtls_scache.c,68,FP,GOOD_SCACHE args are simple lvalues with no side effects; idiomatic curl macro,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/vtls/vtls_scache.c,68,FP,multiple eval of pure lvalue x has no side-effect hazard; idiomatic,curl_full_audit_0.4.35,med
ENV01-C,curl,lib/vtls/vtls_scache.c,81,FP,abspath sized by _MAX_PATH for _fullpath; no env-var involved here,curl_full_audit_0.4.35,high
MEM34-C,curl,lib/vtls/vtls_scache.c,81,FP,no free() of abspath in _WIN32 branch; abspath is _fullpath dest buffer,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/vtls/vtls_scache.c,81,FP,"_MAX_PATH is a Windows platform macro, not a curl-defined identifier",curl_full_audit_0.4.35,high
DCL37-C,curl,lib/vtls/vtls_scache.c,81,FP,_MAX_PATH is system-provided Windows macro; not curl's to rename,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/vtls_scache.c,89,FP,r is reused for free()'s return path; const-qualifying a CURLcode result is noise,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/vtls/vtls_scache.c,102,FP,function returns r on all paths via out label; no fall-through,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,104,FP,"blob->data passed to Curl_sha256it; logically read-only but blob deref is fine, advisory",curl_full_audit_0.4.35,med
DCL00-C,curl,lib/vtls/vtls_scache.c,106,FP,r is reassigned through the function via goto chain; not effectively const,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/vtls/vtls_scache.c,118,FP,hash[] filled by Curl_sha256it before the loop reads it,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_scache.c,132,FP,peer_key[len-1] compared to char literals 'G'/':'; no integer promotion hazard,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_scache.c,132,FP,char compared against char literal; no sign-extension to larger type,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,138,FP,cf passed to Curl_ssl_cf_get_primary_config; internal caller always supplies non-NULL cf,curl_full_audit_0.4.35,med
STR34-C,curl,lib/vtls/vtls_scache.c,149,FP,*ppeer_key = NULL assignment; no char-to-larger-int conversion,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,175,FP,"ssl from get_primary_config; internal cf always has primary config, non-NULL by invariant",curl_full_audit_0.4.35,med
MSC41-C,curl,lib/vtls/vtls_scache.c,233,FP,"""CApath"" is a key-label string, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/vtls_scache.c,239,FP,"""Issuer"" is a key-label string, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/vtls_scache.c,243,FP,"""CertBlob"" is a key-label string, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/vtls_scache.c,248,FP,"""CAInfoBlob"" is a key-label string, not a credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/vtls_scache.c,253,FP,"""IssuerBlob"" is a key-label string, not a credential",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/vtls_scache.c,290,FP,*ppeer_key assigned dynbuf-taken char*; no char-to-int sign extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,324,FP,udata is (void)udata-cast llist dtor callback signature; const not allowed by typedef,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls_scache.c,330,FP,s->alpn and s freed as distinct members sequentially; not use-after-free,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,334,FP,thin wrapper forwarding to create2; never derefs alpn itself,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,334,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,335,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,344,FP,"quic_tp may legitimately be NULL; create2 stores it without deref, no validation needed",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,344,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,345,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,347,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls_scache.c,358,FP,s assigned by calloc on the same line before any deref; not uninitialized,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,379,FP,"s points to calloc'd heap memory, not a local; valid after return",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,397,FP,peer comes from &scache->peers[i] array slots; never NULL at callers,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls_scache.c,401,FP,sobj_free is a callback invoked then nulled; not a freed-pointer access,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,416,FP,sobj is opaque ownership-transfer pointer stored into peer->sobj; const inappropriate,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls_scache.c,417,FP,sobj_free is a function pointer typedef; const-qualifying makes no sense,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/vtls_scache.c,421,FP,sobj_free(peer->sobj) invokes dtor callback; not access of freed memory,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,451,FP,"peer DEBUGASSERT'd implicitly; always an array slot from caller, non-NULL",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls_scache.c,459,FP,"peer->key_salt is a fixed array member of a struct, not a decayed param; sizeof correct",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls_scache.c,460,FP,peer->key_hmac is a fixed array member of a struct; sizeof correct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,491,FP,peer used only in DEBUGASSERT here but is part of mutate-API family; const noise,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/vtls_scache.c,495,FP,peer is (void)peer cast; deref only in DEBUGASSERT; callers pass array slot,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,499,TP,"static helper reads only s->valid_until; could be const, not a callback signature",curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vtls/vtls_scache.c,502,FP,s is a live session node element; caller loop guarantees non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,508,FP,peer is array-slot pointer from internal callers; never NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,519,FP,peer is array-slot pointer; non-NULL by invariant,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls_scache.c,537,FP,peers assigned by calloc on the same statement before deref; not uninitialized,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/vtls_scache.c,541,FP,scache assigned by calloc before any deref; not uninitialized,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls_scache.c,544,FP,peers freed explicitly here on calloc failure; scache is NULL; no leak,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,558,FP,"scache is calloc'd heap; *pscache=scache hands off ownership, valid after return",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/vtls_scache.c,559,FP,"scache/peers returned via *pscache to caller; ownership transferred, not leaked",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,562,FP,GOOD_SCACHE(scache) macro NULL-checks scache before any use,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,578,FP,no char* reinterpreted as struct; spurious alignment claim on normal API call,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,598,FP,peer is mutated/compared family; array slot; const noise,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/vtls_scache.c,599,TP,conn_config only read (clientcert/username/password); could be const in this static helper,curl_full_audit_0.4.35,low
MSC37-C,curl,lib/vtls/vtls_scache.c,620,FP,function returns result on all paths via out label,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vtls/vtls_scache.c,643,FP,"*ppeer = &scache->peers[i] is pointer assignment, not flexible-array struct copy",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,655,FP,ssl_peer_key non-NULL on this path (caller guards ssl_peer_key before find_peer),curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls_scache.c,658,FP,scache->peers[i].key_salt is a struct array member; sizeof correct,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls_scache.c,664,FP,!memcmp idiom for equality test; idiomatic curl style,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vtls/vtls_scache.c,674,FP,"*ppeer pointer assignment, not flexible-array struct copy",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,711,FP,"peer points into scache->peers[] heap array, not local; valid after return",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,732,FP,peer points into heap peers array via *ppeer=peer; not a local address,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,745,FP,username may be NULL; peer_init checks if(srp_username) before strdup; NULL-safe,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,745,FP,password may be NULL; peer_init guards if(srp_password) before use; NULL-safe,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,749,FP,peer is heap array slot via *ppeer=peer; valid after return,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,765,FP,s is a valid session pointer from caller; non-NULL by add-session contract,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,766,FP,peer is array slot passed by internal caller; non-NULL,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/vtls/vtls_scache.c,789,FP,"time(NULL) used for session-lifetime arithmetic; (time_t)-1 worst-case mis-expires, no safety bug",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/vtls_scache.c,797,FP,s non-NULL: early return at top if !scache; s validated by callers before reaching here,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,836,FP,ssl_peer_key forwarded to cf_scache_add_session which tolerates NULL; not derefed unchecked,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,841,FP,spurious alignment claim; no char*-to-struct reinterpretation,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,842,FP,"spurious alignment claim; normal API call, no pointer reinterpret",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,846,FP,ssl_config DEBUGASSERT'd at 844; release path: if !scache short-circuits the && before deref,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/vtls_scache.c,867,FP,Curl_ssl_session_destroy explicitly does if(s) at its top; NULL-safe,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,870,FP,cf forwarded to get_primary_config; internal callers always supply non-NULL cf,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,870,FP,data used via cf_ssl_scache_get which derefs data->share; callers always supply data,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,870,FP,ssl_peer_key forwarded to find_peer_by_key which tolerates the value; not unchecked deref,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,875,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,899,FP,"s is heap session via Curl_node_take_elem; *ps=s hands off, valid after return",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,904,FP,peer guarded: this branch only entered when s non-NULL which implies peer found,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,913,FP,cf forwarded to get_primary_config; callers always supply cf,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,913,FP,data used by scache_get; callers always supply data,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,913,FP,ssl_peer_key forwarded to add_peer which tolerates NULL; not unchecked deref,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,913,FP,"sobj DEBUGASSERT'd at 924; ownership pointer stored, not derefed",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,913,FP,sobj_dtor_cb DEBUGASSERT'd at 925; checked before invocation,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,919,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,947,FP,cf forwarded to get_primary_config; callers supply cf,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,947,FP,data used by scache_get; callers supply data,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,947,FP,"ssl_peer_key forwarded to find_peer_by_key; tolerated, not unchecked deref",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,951,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/vtls_scache.c,969,FP,"sobj = peer->sobj is a stored heap/opaque pointer, not a local address",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,972,FP,cf is (void)cf cast; not derefed; callers supply it anyway,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,972,FP,"ssl_peer_key forwarded to find_peer_by_key; tolerated, not unchecked deref",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,976,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls_scache.c,1005,FP,"peer->key_salt is a struct fixed-array member; sizeof correct, no decay",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/vtls/vtls_scache.c,1010,FP,peer->key_salt is a struct fixed-array member; sizeof correct,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/vtls_scache.c,1019,FP,function returns result on all paths via out label,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls_scache.c,1039,FP,!memcmp equality idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls_scache.c,1040,FP,!memcmp equality idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/vtls_scache.c,1055,FP,!memcmp equality idiom; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,1071,FP,data used by scache_get; callers supply data,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/vtls_scache.c,1071,FP,sdata forwarded to Curl_ssl_session_unpack which validates; not unchecked deref here,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,1072,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,1073,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.c,1074,FP,curl never uses C99 conformant array param syntax; stylistic,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,1076,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,1119,FP,ssl_peer_key is NULL here by design (else-branch); peer_init handles NULL via salt+hmac path,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,1128,FP,s non-NULL here: unpack succeeded at 1091 producing s; guarded by if(peer),curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/vtls_scache.c,1139,FP,Curl_ssl_session_destroy does if(s) internally; NULL-safe (s set NULL after handoff),curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/vtls_scache.c,1143,FP,data used by scache_get; callers supply data,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/vtls_scache.c,1144,FP,export_fn is a function pointer typedef; const-qualifying is meaningless,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/vtls_scache.c,1147,FP,spurious alignment claim; normal API call,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/vtls/vtls_scache.c,1152,FP,"time(NULL) for expiry arithmetic only; (time_t)-1 mis-expires at worst, no security impact",curl_full_audit_0.4.35,med
DCL00-C,curl,lib/vtls/vtls_scache.c,1153,FP,r reassigned throughout export loop via goto chain; not effectively const,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vtls/vtls_scache.c,1200,FP,export_fn args use curlx_dyn_uptr/dyn_len on distinct buffers; no shared-object unsequenced mutation,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,133,FP,libssh2 kbd_callback signature fixed by external typedef; const impossible,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vssh/libssh2.c,247,FP,LIBSSH2_FREE_FUNC macro defines void fn; sqc cannot expand macro,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,254,FP,sshkeycallback matches curl_sshkeycallback typedef; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,258,FP,callback signature fixed by typedef,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vssh/libssh2.c,368,FP,keybit OR of libssh2 enum constants; advisory,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vssh/libssh2.c,373,FP,host filled by libssh2_knownhost_checkp; non-NULL when keycheck<=MISMATCH,curl_full_audit_0.4.35,med
STR34-C,curl,lib/vssh/libssh2.c,429,FP,"remotekey is const char* key buffer arg, not signed-char read",curl_full_audit_0.4.35,high
INT13-C,curl,lib/vssh/libssh2.c,432,FP,keybit OR of libssh2 enum flags; advisory,curl_full_audit_0.4.35,low
ARR00-C,curl,lib/vssh/libssh2.c,541,FP,md5buffer written by snprintf in loop before being read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,541,FP,md5buffer filled by curl_msnprintf before read,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,607,FP,sshc written via state machine; not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,634,FP,p assigned (kh_name_end+2) before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,643,FP,port filled by curlx_str_number out-param before read,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vssh/libssh2.c,644,FP,advisory readability; no real defect,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vssh/libssh2.c,670,FP,store non-NULL on all found=TRUE paths,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vssh/libssh2.c,719,FP,sshc mutated by sftp_quote (acceptfail etc); not const,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,798,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,799,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,800,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,801,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,802,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,821,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,822,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,838,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,845,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,861,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,868,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,874,FP,idiomatic !strncmp command dispatch,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,889,FP,sshp mutated (quote_attrs memset); not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,915,FP,attrs filled by libssh2_sftp_stat_ex; read only when rc==0,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vssh/libssh2.c,1017,FP,"scratch[4*1024] is constant-size array, not VLA",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vssh/libssh2.c,1109,FP,curl_getenv returns malloc copy; curlx_free correct,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1181,FP,idiomatic !!strncmp dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1203,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1215,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/vssh/libssh2.c,1219,FP,07777 intentional octal permission mask,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1227,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1239,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1240,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/libssh2.c,1257,FP,idiomatic !strncmp dispatch,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/vssh/libssh2.c,1268,FP,"fail: label reachable via goto, not unreachable",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,1276,FP,sshp mutated (quote_attrs); not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,1288,FP,attrs filled by stat_ex before use,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vssh/libssh2.c,1288,FP,advisory readability,curl_full_audit_0.4.35,low
EXP33-C,curl,lib/vssh/libssh2.c,1315,FP,from filled by Curl_ssh_range out-param,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh2.c,1420,FP,distinct fn calls in failf args; no shared side effects,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vssh/libssh2.c,1548,FP,unknown[] aliased via err_msg (char*); cannot const,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1555,FP,ssh_session read by last_error; not freed here,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh2.c,1581,FP,strlen calls in args; no shared mutable state,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,1799,FP,sshp written (readdir_filename out); not const,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1815,FP,free-then-strdup reassign of homedir; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1817,FP,free-then-strdup reassign; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1818,FP,data->state field reassigned after free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1818,FP,data->state field reassigned after free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1819,FP,strdup reassign; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1819,FP,strdup reassign; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1898,FP,"quote_item advanced to ->next after safefree of paths, not item",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1898,FP,"quote_item advanced to ->next after safefree of paths, not item",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1900,FP,"quote_item is fresh ->next pointer, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1904,FP,"nextstate is enum field, not freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,1905,FP,nextstate enum read; not UAF,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh2.c,1958,FP,strlen calls in symlink args; no shared side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh2.c,2007,FP,strlen calls in rename args; no shared side effects,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,2114,FP,statvfs filled by libssh2_sftp_statvfs; read when rc==0,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2140,FP,sshp param of state fn; mutated elsewhere/typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2171,FP,sshp param; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2233,FP,sshp param; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2278,FP,sshp param; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2350,FP,sshp param; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,2378,FP,sshp param; not const,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,2437,FP,ssh_session read by last_error after freeing ssh_channel,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,2508,FP,ssh_session read after freeing ssh_channel; session live,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,2534,FP,ssh_session read; freed only after this line,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/libssh2.c,2779,FP,*slash_pos guarded by if(slash_pos) at line above,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/libssh2.c,2818,FP,dyn_ptr/dyn_len calls; no shared side effects,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,2967,FP,ssh_session read by last_error after freeing channel,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vssh/libssh2.c,3030,FP,waitfor & KEEP_RECV bit test; advisory,curl_full_audit_0.4.35,low
INT13-C,curl,lib/vssh/libssh2.c,3032,FP,waitfor & KEEP_SEND bit test; advisory,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/vssh/libssh2.c,3051,FP,data param of ssh_block2waitfor signature; (void)data,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vssh/libssh2.c,3061,FP,dir & block-direction bit test; advisory,curl_full_audit_0.4.35,low
EXP36-C,curl,lib/vssh/libssh2.c,3074,FP,void* abstract cast in libssh2 callback; idiomatic,curl_full_audit_0.4.35,low
INT13-C,curl,lib/vssh/libssh2.c,3131,FP,dir & INBOUND bit test; advisory,curl_full_audit_0.4.35,low
INT13-C,curl,lib/vssh/libssh2.c,3133,FP,dir & OUTBOUND bit test; advisory,curl_full_audit_0.4.35,low
API05-C,curl,lib/vssh/libssh2.c,3144,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,3144,FP,dtor key param signature fixed; not const,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3144,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,3150,FP,dyn_free of distinct member readdir in dtor; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vssh/libssh2.c,3151,FP,dyn_free of distinct member readdir_link; not UAF,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3155,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,3155,FP,dtor signature fixed; not const,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3155,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vssh/libssh2.c,3161,FP,sshc_cleanup frees members not sshc; single free here,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,3174,FP,sshc assigned by curlx_calloc immediately above,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,3181,FP,sshp assigned by curlx_calloc immediately above,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vssh/libssh2.c,3183,FP,sshp NULL on this path; sshc owned by meta-store dtor,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vssh/libssh2.c,3188,FP,sshp ownership transferred to meta-store dtor,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vssh/libssh2.c,3190,FP,success path; objects owned by meta-store dtors,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3197,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3198,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,3198,FP,tls callback signature fixed by libssh2 typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh2.c,3201,FP,void* abstract cast in libssh2 callback,curl_full_audit_0.4.35,low
API05-C,curl,lib/vssh/libssh2.c,3225,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3226,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/libssh2.c,3226,FP,tls send callback signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh2.c,3229,FP,void* abstract cast in libssh2 callback,curl_full_audit_0.4.35,low
EXP33-C,curl,lib/vssh/libssh2.c,3387,FP,"scp_recv is forward-declared static fn, taking address",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,3388,FP,scp_send is static fn pointer; address-of,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,3391,FP,sftp_recv is static fn; address-of,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/libssh2.c,3392,FP,sftp_send is static fn; address-of,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh2.c,3489,FP,char* to SSHPROTO* alignment via meta-store; idiomatic,curl_full_audit_0.4.35,low
EXP36-C,curl,lib/vssh/libssh2.c,3508,FP,alignment via meta-store; idiomatic,curl_full_audit_0.4.35,low
API05-C,curl,lib/vssh/libssh2.c,3540,FP,advisory array-param syntax on send buffer,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3572,FP,advisory array-param syntax on recv buffer,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vssh/libssh2.c,3660,FP,alignment via meta-store; idiomatic,curl_full_audit_0.4.35,low
API05-C,curl,lib/vssh/libssh2.c,3698,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3729,FP,advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vssh/libssh2.c,3797,FP,advisory array-param syntax on Curl_ssh_version buffer,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/cf-socket.c,292,FP,"dest is a struct pointer; curl_sa_addrbuf is a real array member, sizeof is correct",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/cf-socket.c,293,FP,"sizeof of array struct member, not decayed param array",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cf-socket.c,332,FP,"*sockfd is socket from callback, not fopen FILE*; closed by socket_close",curl_full_audit_0.4.35,high
CON34-C,curl,lib/cf-socket.c,340,FP,DEBUGBUILD-only getenv for test injection; not thread-shared concern,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,395,FP,data validated via DEBUGASSERT; addr reassigned to local if NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,395,FP,addr explicitly NULL-checked and replaced with dummy local,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,415,FP,socket_close passes conn to fclosesocket and Curl_multi_will_close; conventionally non-const,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-socket.c,434,FP,sclose is a curl macro/wrapper declared in headers; macro-opaque,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,444,FP,thin wrapper delegating to socket_close which NULL-guards conn,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,444,FP,conn documented nullable; callee guards with if(conn),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cf-socket.c,491,FP,!strncmp prefix-match idiom in parse dispatch,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,495,FP,char** out-param deref assignment; not sign-extension bug,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cf-socket.c,498,FP,!strncmp prefix-match idiom,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,502,FP,"char** out-param pointer assignment, not signed char read",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cf-socket.c,505,FP,!strncmp prefix-match idiom,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,512,FP,char** out-param pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,516,FP,char** out-param pointer assignment,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cf-socket.c,518,FP,curlx_free declared in curl header; macro-opaque misfire,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,519,FP,char** out-param NULL assignment,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,527,FP,char** out-param pointer assignment,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cf-socket.c,543,FP,h is passed by address to Curl_resolv_blocking which modifies it,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cf-socket.c,573,FP,myhost is a buffer written by if2ip/printable_address; not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-socket.c,618,FP,error assigned =SOCKERRNO in same statement before use; initialized,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-socket.c,682,FP,"writing NUL terminator through char*, not signed-extension read",curl_full_audit_0.4.35,high
POS02-C,curl,lib/cf-socket.c,746,FP,client lib binding local socket; not a privileged daemon needing privdrop,curl_full_audit_0.4.35,high
INT08-C,curl,lib/cf-socket.c,757,FP,bounded local-port log arithmetic; no overflow risk,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/cf-socket.c,854,FP,"switch case label after return CURLE_OK, not unreachable code",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/cf-socket.c,900,FP,"ctx is real struct pointer; memset(ctx,0,sizeof(*ctx)) is correct idiom",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cf-socket.c,910,FP,getenv result checked with if(p) immediately after,curl_full_audit_0.4.35,high
CON34-C,curl,lib/cf-socket.c,910,FP,DEBUGBUILD-only test-injection getenv,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/cf-socket.c,913,FP,"curlx_str_number advances const char** cursor, does not modify string",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cf-socket.c,916,FP,getenv checked with if(p),curl_full_audit_0.4.35,high
CON34-C,curl,lib/cf-socket.c,916,FP,DEBUGBUILD test getenv,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/cf-socket.c,919,FP,curlx_str_number does not mutate env string,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cf-socket.c,922,FP,getenv checked with if(p),curl_full_audit_0.4.35,high
CON34-C,curl,lib/cf-socket.c,922,FP,DEBUGBUILD test getenv,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/cf-socket.c,925,FP,curlx_str_number does not mutate env string,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cf-socket.c,928,FP,getenv checked with if(p),curl_full_audit_0.4.35,high
CON34-C,curl,lib/cf-socket.c,928,FP,DEBUGBUILD test getenv,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/cf-socket.c,931,FP,curlx_str_number does not mutate env string,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cf-socket.c,986,FP,curlx_free declared in header; macro-opaque,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,990,FP,set_local_ip writes cf->ctx members; cf used via callbacks; conventional,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/cf-socket.c,993,FP,cf always non-NULL from internal callers; ctx guarded later,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-socket.c,994,FP,ctx assigned from cf->ctx then guarded by getsockname conditions,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-socket.c,1007,FP,VERBOSE() macro misparse; expands to int error decl or nothing,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1022,FP,set_remote_ip writes ctx->ip and ctx->error via cf; conventional,curl_full_audit_0.4.35,med
FIO42-C,curl,lib/cf-socket.c,1062,FP,"result is a CURLcode, not an open() fd; the fd is ctx->sock",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cf-socket.c,1256,FP,"result is CURLcode from cf_socket_open, not an open() fd",curl_full_audit_0.4.35,high
INT13-C,curl,lib/cf-socket.c,1302,FP,idiomatic select-flag mask on int rc,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-socket.c,1376,FP,ideal filled by WSAIoctl output param (short-circuit) before read,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-socket.c,1388,FP,vtable send callback signature fixed by typedef; cannot use array syntax,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cf-socket.c,1395,FP,VERBOSE() macro misparse for orig_len declaration,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cf-socket.c,1405,FP,c is modified by Curl_rand_bytes via address,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-socket.c,1472,FP,vtable recv callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cf-socket.c,1482,FP,c modified by Curl_rand via address,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1533,FP,cf_socket_update_data writes cf->conn member; conventional non-const,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,1561,FP,arg2 is vtable cntrl void* param fixed by typedef; (void)arg2,curl_full_audit_0.4.35,high
STR31-C,curl,lib/cf-socket.c,1587,FP,"pfd[1] is a struct pollfd array, not a string buffer",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1619,FP,cf_socket_query is vtable callback; signature fixed by typedef,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/cf-socket.c,1674,FP,"switch default+break then return; reachable, not dead code",curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-socket.c,1682,FP,Curl_cft_tcp is a const vtable initialized once; not mutable shared state,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-socket.c,1682,FP,exported cfilter type referenced across TUs; must have external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-socket.c,1682,FP,exported global vtable; cannot be function-local,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,1700,FP,pcf written unconditionally at out:; ai checked with if(!ai),curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,1700,FP,ai explicitly NULL-checked before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1701,FP,"(void)data; exported create signature, conventional",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,1702,FP,(void)conn; exported create signature,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-socket.c,1718,FP,curlx_calloc declared in curl memory header; macro-opaque,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1741,FP,linux_quic_mtu calls setsockopt with ctx->sock; not const-able,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1768,FP,linux_quic_gro uses ctx->sock in setsockopt; not const,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cf-socket.c,1813,FP,all paths return result via goto out fallthrough; no missing return,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cf-socket.c,1827,FP,"result is CURLcode, not an open() fd",curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-socket.c,1848,FP,const vtable initialized once; not mutable shared state,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-socket.c,1848,FP,exported across TUs; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-socket.c,1848,FP,exported global vtable,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,1866,FP,ai NULL-checked before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1867,FP,(void)data exported create signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,1868,FP,(void)conn exported create signature,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-socket.c,1879,FP,curlx_calloc header-declared; macro-opaque,curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-socket.c,1902,FP,const vtable initialized once,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-socket.c,1902,FP,exported across TUs,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-socket.c,1902,FP,exported global vtable,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,1920,FP,pcf written at out:; ai NULL-checked,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,1920,FP,ai NULL-checked before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1921,FP,(void)data exported signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,1922,FP,(void)conn exported signature,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-socket.c,1933,FP,curlx_calloc header-declared; macro-opaque,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,1955,FP,vtable callback signature fixed by typedef,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,1983,FP,vtable callback signature fixed by typedef,curl_full_audit_0.4.35,med
INT13-C,curl,lib/cf-socket.c,2057,FP,idiomatic select-flag mask on int socketstate,curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-socket.c,2132,FP,const vtable initialized once,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-socket.c,2132,FP,exported across TUs,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-socket.c,2132,FP,exported global vtable,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,2150,FP,data/conn used via Curl_conn_cf_* helpers that handle internal state,curl_full_audit_0.4.35,med
API00-C,curl,lib/cf-socket.c,2150,FP,conn always valid from internal callers,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-socket.c,2152,FP,s dereferenced (*s) to read fd; sqc misreports; effectively read-only but conventional,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cf-socket.c,2160,FP,sockindex is internal FIRSTSOCKET/SECONDARYSOCKET enum 0/1; bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cf-socket.c,2160,FP,"sockindex internal index 0/1, not attacker-controlled",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cf-socket.c,2162,FP,curlx_calloc header-declared; macro-opaque,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/cf-socket.c,2177,FP,sockindex internal bounded index,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cf-socket.c,2177,FP,sockindex internal bounded index,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-socket.c,2178,FP,cf is non-NULL after successful Curl_cf_create; out: skipped on success,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,2191,FP,data used to index cfilter[]; internal always-valid; while(cf) NULL-safe,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,2191,FP,exported signature; data read-only here but conventional,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/cf-socket.c,2194,FP,sockindex internal bounded index 0/1,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cf-socket.c,2194,FP,sockindex internal bounded index,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,2206,FP,cf_is_socket reads cf->cft only; could be const but project convention non-const,curl_full_audit_0.4.35,med
API00-C,curl,lib/cf-socket.c,2214,FP,all out-params guarded with if(psock)/if(paddr)/if(pip) before deref,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,2214,FP,paddr guarded with if(paddr),curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-socket.c,2214,FP,pip guarded with if(pip),curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-socket.c,2214,FP,Curl_cf_socket_peek is exported (used by ftp/tftp); needs external linkage,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-socket.c,2215,FP,(void)data exported signature,curl_full_audit_0.4.35,med
MEM33-C,curl,lib/cf-socket.c,2227,FP,*paddr = &ctx->addr is pointer assignment; ip_quadruple has no flexible array,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,86,FP,"s_lock is curl_simple_lock, init macro; lock primitive itself, not a racy shared scalar",curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,106,FP,Curl_cmalloc allocator callback set once before threads; documented single-init contract,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,106,FP,Curl_cmalloc is exported global used across translation units; cannot be static,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easy.c,106,FP,intentional exported global allocator callback; minimal-scope advice inapplicable,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,107,FP,Curl_cfree allocator callback set before threads; intentional global,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,107,FP,exported global with external linkage by design,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easy.c,107,FP,intentional exported global allocator callback,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,108,FP,Curl_crealloc allocator callback set before threads; intentional global,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,108,FP,exported global with external linkage by design,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easy.c,108,FP,intentional exported global allocator callback,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,109,FP,Curl_cstrdup allocator callback set before threads; intentional global,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,109,FP,exported global with external linkage by design,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easy.c,109,FP,intentional exported global allocator callback,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,110,FP,Curl_ccalloc allocator callback set before threads; intentional global,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,110,FP,exported global with external linkage by design,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/easy.c,110,FP,intentional exported global allocator callback,curl_full_audit_0.4.35,high
CON34-C,curl,lib/easy.c,181,FP,getenv in DEBUGBUILD-only path under global_init lock; result not stored across threads,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/easy.c,188,FP,"line 188 is the 'fail:' label after return; goto targets it, not unreachable",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,197,FP,curl_global_init is public exported API,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,213,FP,curl_global_init_mem is public exported API,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/easy.c,225,FP,"'initialized' is file-scope static, zero-initialized by C standard",curl_full_audit_0.4.35,high
CON07-C,curl,lib/easy.c,255,FP,curl_global_cleanup guarded by global_init_lock when threadsafe; documented non-reentrant API,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/easy.c,255,FP,curl_global_cleanup is public exported API,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/easy.c,259,FP,"'initialized' is file-scope static, zero-initialized",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/easy.c,273,FP,"'easy_init_flags' file-scope static, zero-initialized; only reached after init",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/easy.c,281,FP,"'leakpointer' file-scope static, zero-initialized",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,292,FP,curl_global_trace is public exported API,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/easy.c,292,FP,both #ifdef arms return; sqc misses preprocessor branches,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,312,FP,thin wrapper forwarding name to Curl_init_sslset_nolock which validates; never derefs here,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,312,FP,"avail forwarded to nolock impl, not dereferenced in wrapper",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,312,FP,curl_global_sslset is public exported API,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/easy.c,338,FP,"'initialized' file-scope static, zero-initialized",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/easy.c,350,FP,"'result' is CURLcode from Curl_open, not a file descriptor; total misfire",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/easy.c,356,FP,"'data' is heap struct from Curl_open(&data), not automatic storage",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,381,FP,events_timer signature fixed by CURLMOPT_TIMERFUNCTION typedef; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,435,FP,events_socket signature fixed by CURLMOPT_SOCKETFUNCTION typedef,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,474,FP,m freed only in REMOVE branch which breaks immediately; line 474 reached only when not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,488,FP,m freshly allocated via curlx_malloc and NULL-checked at 486; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,489,FP,m freshly allocated and NULL-checked; member writes are valid init,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,524,FP,"populate_fds writes through fds[] (f->fd=...), so fds is modified; const wrong anyway",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/easy.c,524,FP,"ev->list traversal reads via m, but ev not const-able; param is non-modified yet idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/easy.c,538,FP,f points into fds[] array; f++ is legitimate array iteration,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,548,FP,poll_fds reads ev->ms and ev->list-derived fields; const-able but advisory FP per convention,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/easy.c,603,FP,pollrc set by poll_fds via &pollrc at line 597 before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/easy.c,617,FP,fds[] filled by populate_fds at 592 before loop reads,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/easy.c,623,FP,fds[] filled by populate_fds before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/easy.c,624,FP,fds[] filled by populate_fds before read,curl_full_audit_0.4.35,high
CON03-C,curl,lib/easy.c,670,FP,static evs in DEBUGBUILD single-threaded blocking transfer; not cross-thread shared,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,837,FP,GOOD_EASY_HANDLE(data) macro validates ptr before any use,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,853,FP,GOOD_EASY_HANDLE(data) validates easy before deref,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,872,FP,dupset reads src fields but src->set copied; const-able but advisory FP,curl_full_audit_0.4.35,med
ARR38-C,curl,lib/easy.c,886,FP,"memset(dst->set.str, 0, STRING_LAST*sizeof(char*)) sizes the array exactly",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/easy.c,887,FP,"memset(dst->set.blobs, 0, BLOB_LAST*sizeof) sizes the array exactly",curl_full_audit_0.4.35,high
INT18-C,curl,lib/easy.c,906,FP,"postfieldsize is curl_off_t (signed), == -1 is valid signed sentinel comparison",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/easy.c,907,FP,curlx_strdup declared in included curlx/strdup.h; macro/header sqc misses,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/easy.c,921,FP,sizeof(*dst->set.mimepostp) sizes the pointee struct correctly for malloc,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/easy.c,938,FP,dupeasy_meta_freeentry signature fixed by Curl_hash freeentry typedef,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,952,FP,GOOD_EASY_HANDLE(data) validates d before use,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/easy.c,959,FP,curlx_calloc declared via curlx headers; macro/header sqc misses,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/easy.c,968,FP,data validated by GOOD_EASY_HANDLE earlier; non-NULL after guard,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/easy.c,1063,FP,"line 1063 is 'fail:' label, a goto target, not unreachable",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1069,FP,fail-path frees distinct members then frees outcurl once; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1069,FP,"sequential cleanup of distinct struct members, not freed pointer reuse",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1070,FP,Curl_altsvc_cleanup(&outcurl->asi) distinct member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1071,FP,Curl_hsts_cleanup(&outcurl->hsts) distinct member; not UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/easy.c,1073,FP,curlx_free declared via curlx headers; macro/header sqc misses,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1073,FP,outcurl freed exactly once at end of fail path; no double-free,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/easy.c,1089,FP,data validated by GOOD_EASY_HANDLE at 1086 (curl_easy_reset),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1100,FP,"Curl_freeset(data) frees members not data; data is live, reinit follows. Not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1100,FP,data never freed in curl_easy_reset; analyzer misattributes member-free to handle,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1100,FP,data is live handle being reset; no free of data occurred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1101,FP,memset reinitializes data->set; data not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1104,FP,"data live; Curl_initinfo reinit, no free occurred",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1104,FP,data not freed; analyzer misattribution,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1104,FP,data live handle; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1107,FP,data not freed in reset; member ops only,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1109,FP,data->progress.hide write on live handle; no free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1110,FP,data->state write on live handle; no free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1111,FP,data->state write on live handle; no free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1114,FP,memset authhost on live handle; data not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1114,FP,data live; no free occurred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1114,FP,data live handle member access; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1114,FP,duplicate misfire; data not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1115,FP,memset authproxy on live handle; no free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1115,FP,data live; no free occurred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1115,FP,data live member access; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1115,FP,duplicate misfire; data not freed,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,1136,FP,curl_easy_pause is public exported API,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/easy.c,1145,FP,GOOD_EASY_HANDLE(data) check in same condition guards deref,curl_full_audit_0.4.35,high
API05-C,curl,lib/easy.c,1224,FP,curl never uses C99 array-param syntax; advisory style FP by convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/easy.c,1239,FP,data validated by GOOD_EASY_HANDLE at 1230,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/easy.c,1252,FP,c is connectdata* out-param assigned via &c in easy_connection; not const-able,curl_full_audit_0.4.35,med
API00-C,curl,lib/easy.c,1272,FP,Curl_senddata internal; data validated by easy_connection's !data check,curl_full_audit_0.4.35,high
API05-C,curl,lib/easy.c,1272,FP,curl convention: no C99 array-param syntax,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/easy.c,1276,FP,c is out-param assigned via &c in easy_connection; not const,curl_full_audit_0.4.35,med
API05-C,curl,lib/easy.c,1302,FP,curl convention: no C99 array-param syntax,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1334,FP,sdata forwarded to Curl_ssl_session_import; not dereferenced in wrapper,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,1334,FP,curl_easy_ssls_import is public exported API,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/easy.c,1334,FP,both #if/#else arms return; sqc misses preprocessor branches,curl_full_audit_0.4.35,high
API05-C,curl,lib/easy.c,1334,FP,curl convention: no C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/easy.c,1335,FP,curl convention: no C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/easy.c,1336,FP,curl convention: no C99 array-param syntax,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/easy.c,1355,FP,curl_easy_ssls_export is public exported API,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/easy.c,1355,FP,both #if/#else arms return; sqc misses preprocessor branches,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/easy.c,1376,FP,Curl_meta_set: data is internally-supplied non-NULL handle; DEBUGASSERT guards meta_data,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/easy.c,1378,FP,"meta_dtor is a parameter (function pointer), not an undeclared function",curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1384,FP,Curl_meta_remove internal helper; data always a valid handle from callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1384,FP,key internal helper arg; forwarded to Curl_hash_delete which handles it,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1389,FP,Curl_meta_get internal helper; data valid handle from callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1389,FP,key forwarded to Curl_hash_pick; internal helper,curl_full_audit_0.4.35,high
API00-C,curl,lib/easy.c,1394,FP,Curl_meta_reset internal helper; data valid handle from callers,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/easy.c,1118,FP,"curl_easy_reset reinitializes data; Curl_http_auth_cleanup_digest cleans members, data not freed",curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,84,FP,internal handle 'data' always non-NULL; DEBUGASSERT contract; no caller passes NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,84,FP,"thislen guarded by DEBUGASSERT; used only as strnequal len, no overflow arithmetic",curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,85,FP,curl never uses C99 conformant array param syntax; advisory style only,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,176,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
INT18-C,curl,lib/transfer.c,186,FP,data->req.size is signed curl_off_t; comparing to -1 is correct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/transfer.c,221,FP,k is modified (k->keepon &= ...) in sendrecv_dl; const impossible,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,357,FP,internal handle 'data' always non-NULL; no NULL caller path,curl_full_audit_0.4.35,high
INT14-C,curl,lib/transfer.c,369,FP,idiomatic bitwise flag test (k->keepon & KEEP_RECV); no arithmetic mixing bug,curl_full_audit_0.4.35,high
INT18-C,curl,lib/transfer.c,388,FP,k->size signed curl_off_t; != -1 sentinel check is correct,curl_full_audit_0.4.35,high
INT18-C,curl,lib/transfer.c,412,FP,k->size signed curl_off_t; sentinel -1 compare correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,435,FP,internal handle 'data' always non-NULL,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/transfer.c,469,FP,curlx_free declared via curl headers; not undeclared,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,502,FP,"Curl_safefree(info.wouldredirect) distinct member; no UAF, struct-field-free propagation",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,505,FP,data->state.httpreq distinct member never freed; false propagation from member free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,505,FP,data->state not freed; whole-struct poisoning from member free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,506,FP,data->state not freed; false UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,506,FP,data->set.filesize not freed; member-free propagation,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,506,FP,data->set not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,507,FP,httpreq distinct member; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,507,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,508,FP,httpreq not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,508,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,509,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,509,FP,set.postfieldsize not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,509,FP,data->set not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,510,FP,set.postfields read not freed here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,510,FP,data->set not freed,curl_full_audit_0.4.35,high
INT18-C,curl,lib/transfer.c,510,FP,infilesize signed curl_off_t; ==-1 sentinel correct,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,510,FP,infilesize not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,510,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,511,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,511,FP,set.postfields read; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,511,FP,data->set not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,514,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,522,FP,state.resolve read; not freed in this function,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,522,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,533,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,539,FP,set.no_signal not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,539,FP,data->set not freed,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/transfer.c,540,FP,"signal() return saved to prev_signal for later restore, not an error check",curl_full_audit_0.4.35,med
MEM30-C,curl,lib/transfer.c,540,FP,data->state not freed,curl_full_audit_0.4.35,high
SIG00-C,curl,lib/transfer.c,540,FP,"signal(SIGPIPE,SIG_IGN) sets ignore not a handler; curl deliberate, HAVE_SIGNAL guarded",curl_full_audit_0.4.35,med
SIG02-C,curl,lib/transfer.c,540,FP,"ignoring SIGPIPE (abnormal write error), not using signals for normal functionality",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,550,FP,state.authhost not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,550,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,550,FP,authhost.want not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,550,FP,state.authhost not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,550,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,551,FP,state.authproxy not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,551,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,551,FP,authproxy.want not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,551,FP,state.authproxy not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,551,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,554,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,554,FP,set.wildcard_enabled not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,554,FP,data->set not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,555,FP,state.wildcardmatch not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,555,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,557,FP,data->wildcard not freed; allocated below if NULL,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,559,FP,data->wildcard just calloc'd; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,562,FP,data->wildcard not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,572,FP,data->hsts not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,580,FP,"set.str[] array element read; only aptr.uagent freed later, distinct",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/transfer.c,581,FP,curlx_free declared via curl headers,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,581,FP,free-then-reassign of aptr.uagent on next line; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,581,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,582,FP,aptr.uagent reassigned after free; write target not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,582,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,583,FP,set.str[USERAGENT] read for printf; distinct from freed uagent,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,584,FP,"aptr.uagent just assigned; NULL check, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,584,FP,state.aptr not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,584,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,588,FP,set.str[USERNAME] read; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,589,FP,set.str[PASSWORD] read; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,590,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,592,FP,Curl_setstropt manages aptr.user free/dup internally; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,592,FP,state.aptr not freed here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,592,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,593,FP,set.str[USERNAME] read; distinct member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,595,FP,aptr.passwd managed by setstropt; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,595,FP,state.aptr not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,595,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,596,FP,set.str[PASSWORD] read; distinct member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,599,FP,aptr.proxyuser managed by setstropt,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,599,FP,state.aptr not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,599,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,600,FP,set.str[PROXYUSERNAME] read; distinct member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,602,FP,aptr.proxypasswd managed by setstropt,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,602,FP,state.aptr not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,602,FP,data->state not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,603,FP,set.str[PROXYPASSWORD] read; distinct member,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/transfer.c,606,FP,data->req.headerbytecount write; req never freed in this function,curl_full_audit_0.4.35,high
STR34-C,curl,lib/transfer.c,618,FP,*url is char* assignment to char**; no sign-extension to wider int,curl_full_audit_0.4.35,high
STR34-C,curl,lib/transfer.c,664,FP,*url = Curl_bufref_dup pointer assign; no char sign extension,curl_full_audit_0.4.35,high
INT18-C,curl,lib/transfer.c,700,FP,recv_size signed curl_off_t; == -1 sentinel correct in DEBUGASSERT,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,752,FP,internal handle always non-NULL; DEBUGASSERT contract,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,764,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,801,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/transfer.c,804,FP,hd0[hdlen] is DEBUGASSERT null-terminator check; caller contract guarantees terminator,curl_full_audit_0.4.35,med
API00-C,curl,lib/transfer.c,813,FP,thin wrapper; data always non-NULL,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,830,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,852,FP,internal handle always non-NULL; DEBUGASSERT,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.c,853,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,888,FP,thin wrapper; data always non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,893,FP,thin wrapper; data always non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/transfer.c,903,FP,thin wrapper; data always non-NULL,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/transfer.c,903,FP,indirect recursion via flush/unpause callback chain bounded by paused-state guards; terminates,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,117,FP,wssl_tls13_secret_callback ctx is fixed wolfSSL secret-cb typedef signature; const not addable,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,195,FP,"ms is out-param filled by wolfSSL_get_keys, only read after SUCCESS check",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vtls/wolfssl.c,222,FP,"gnm[] is NULL-terminated initializer-bounded const table; idiomatic, advisory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,247,FP,wssl_bio_cf_destroy bound to wolfSSL BIO_meth_set_destroy fn-pointer typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,254,FP,wssl_bio_cf_ctrl ptr param fixed by BIO_meth_set_ctrl typedef signature,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/vtls/wolfssl.c,270,FP,"no dead code; break inside switch case, USE_FULL_BIO conditional stmt before it",curl_full_audit_0.4.35,med
CON03-C,curl,lib/vtls/wolfssl.c,377,FP,BIO method singleton set once at init before threads; not a shared-mutation hazard,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/wolfssl.c,407,FP,Curl_wssl_cache_session checks !session at line 422 before any use,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,409,FP,"curl never uses C99 array-param syntax; advisory style, ssl_peer_key const char*",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,412,FP,advisory conformant-array style; curl convention never applies,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,413,FP,advisory conformant-array style; quic_tp/len; curl convention never applies,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/wolfssl.c,449,FP,sdata freed here; sdata_ptr aliases sdata (not a separate alloc); qtp_clone is NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,464,FP,sc_session set by create2 only on !result; put is guarded by if(!result),curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/wolfssl.c,470,FP,out: frees sdata; sdata_ptr is an alias not separate alloc; no leak,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,518,FP,wss param is passed to wolfSSL_set_session via wss->ssl; deref/mutation through it,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,521,FP,"sess_reuse_cb is a fn-pointer typedef, invoking it is not const-violation",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/wolfssl.c,523,FP,Curl_ssl_cf_get_config returns properly-aligned struct; no real misalignment,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,545,FP,ssl_config from cf_get_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/wolfssl.c,547,FP,!strcmp boolean idiom; idiomatic version comparison,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,571,FP,"552 free is on error path that goto out, skips 571; no double-free",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,571,FP,duplicate of above; error-path free at 552 does goto out skipping 571,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,584,FP,store param passed to wolfSSL store APIs; treated mutable by callees,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/wolfssl.c,588,FP,conn_config from cf_get_primary_config always valid for active filter; idiomatic,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/wolfssl.c,593,FP,config accessor returns aligned struct; no genuine alignment violation,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,602,FP,ssl_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/wolfssl.c,644,FP,"ssl_cafile is const char* path passed by pointer, not a char sign-extended to int",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/wolfssl.c,645,FP,ssl_capath is const char* path passed by pointer; no char-to-int conversion,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/wolfssl.c,677,FP,hash-key string 'tls:wssl:x509:share' is not a credential/secret,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,685,FP,advisory conformant-array; hash dtor key param; curl convention never applies,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,685,FP,wssl_x509_share_free is a Curl_hash dtor fixed by hash typedef signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,685,FP,advisory conformant-array on hash dtor key param,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/wolfssl.c,689,FP,!memcmp inside DEBUGASSERT key-equality check; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,716,FP,conn_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,773,FP,conn_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/wolfssl.c,792,FP,"cf only used via accessors that are robust; internal filter fn, cf never null",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/wolfssl.c,797,FP,config accessor returns aligned struct; no alignment violation,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,806,FP,conn_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,809,FP,ssl_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,824,FP,store ownership transferred via wolfSSL_CTX_set_cert_store at 829; not leaked,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,842,FP,store owned by CTX (set_cert_store) and freed via CTX teardown; not a return leak,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,863,FP,str non-null inside for-loop guarded by (str=...)!=NULL condition,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/wolfssl.c,892,FP,res assigned at 890 by SetMinVersion before the 892 read; fallthrough switch fully assigns,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,902,FP,wssl_legacy_CTX_set_max_proto_version ctx is macro-aliased to wolfSSL API signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,912,FP,ssl_config read-only here but matches sibling backends' mutable signature convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,913,FP,wctx mutated via wctx->ssl_ctx calls inside client_certificate; deref through it,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,1007,FP,conn_config read-only here but matches mutable accessor-return convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,1008,FP,wctx mutated via wctx->ssl_ctx set_min/max_proto_version calls,curl_full_audit_0.4.35,med
API00-C,curl,lib/vtls/wolfssl.c,1077,FP,"Curl_wssl_ctx_init cf/data are internal-filter params, never null in call paths",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/wolfssl.c,1077,FP,"data param internal, never null; siblings do not null-check either",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,1080,FP,peer->sni read but peer is part of mutable filter ctx convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/wolfssl.c,1082,FP,cb_setup is a fn-pointer typedef param; invoking is not const-violation,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/wolfssl.c,1087,FP,config accessor returns aligned struct; no alignment violation,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,1125,FP,wctx->ssl_ctx freed in out: cleanup on error; success keeps it for connection lifetime,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1126,FP,sqc flow inverted: 1126 use precedes out: free at 1439; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1140,FP,use precedes out:-label free; sqc misreads goto-cleanup control flow,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1176,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,1183,FP,1178 dyn_free is on failure path with goto out skipping 1183; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1203,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1219,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1227,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1241,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1253,FP,"x509_store_setup is a bool flag, not freed memory; spurious UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1258,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,1277,FP,wctx->ssl freed in out: on error; success path retains for connection; not leaked,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1277,FP,wolfSSL_new(wctx->ssl_ctx) reads valid ctx; out: free happens later only on error,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1278,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1285,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1291,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1296,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/wolfssl.c,1310,FP,alpns filled by Curl_alpn_copy at 1107 before alpns.count read,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1315,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1329,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1331,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1337,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1363,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1397,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1421,FP,use precedes out:-label free; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1434,FP,wctx->ssl read in out: guard before its own free at 1435; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1438,FP,wctx->ssl_ctx read in out: guard before its own free at 1439; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1439,FP,single free of ssl_ctx; entry DEBUGASSERT(!ssl_ctx) and 1123 guard preclude prior free,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,1479,FP,conn_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/wolfssl.c,1492,FP,bio ownership transferred to ssl via wolfSSL_set_bio at 1497; freed by ssl teardown,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/wolfssl.c,1518,FP,"*buf='\0' is a literal null assignment to char, no sign-extension",curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/wolfssl.c,1530,FP,Curl_wssl_verify_pinned cf internal-filter param never null; matches siblings,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,1532,FP,wssl mutated via wssl->ssl in wolfSSL_get_peer_certificate; deref through it,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vtls/wolfssl.c,1649,FP,"line 1649 is assignment result=wssl_send_earlydata(), not a use of uninit value",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1695,FP,wssl->ssl alive throughout handshake; no free precedes this read,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/wolfssl.c,1701,FP,conn_config always valid for active filter; idiomatic unchecked deref,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1704,FP,wssl->ssl alive; cert (not ssl) is freed at 1714; spurious,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1756,FP,"wssl->io_result is a CURLcode value field, never freed; spurious UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1757,FP,"io_result is a value enum field, not heap; spurious UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1762,FP,"io_result is a value enum field, not heap; spurious UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/wolfssl.c,1773,FP,wssl->ssl alive in handshake error path; no preceding free,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,1802,FP,advisory conformant-array on send buf/blen; curl convention never applies,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,1967,FP,wssl_close is a Curl_ssl vtable close_one impl; signature fixed by struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,1967,FP,vtable close_one impl signature fixed; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,1988,FP,advisory conformant-array on recv buf/blen; vtable signature fixed,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/wolfssl.c,2046,TP,Curl_wssl_version falls off end without return if neither preprocessor branch active,curl_full_audit_0.4.35,low
API05-C,curl,lib/vtls/wolfssl.c,2046,FP,advisory conformant-array on buffer/size; curl convention never applies,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,2077,FP,wssl_data_pending is vtable data_pending impl; signature fixed by struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,2093,FP,wssl mutated via wssl->ssl getters; matches exported-fn convention,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vtls/wolfssl.c,2097,FP,"two read-only wolfSSL getters as args; no shared side effects, order irrelevant",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,2212,FP,wssl_random is vtable random impl; data signature fixed by struct,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,2213,FP,advisory conformant-array on entropy/length; vtable signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,2228,FP,advisory conformant-array on sha256 input; vtable signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/wolfssl.c,2230,FP,advisory conformant-array on sha256sum output; vtable signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/wolfssl.c,2242,FP,wssl_get_internals is vtable get_internals impl; signature fixed by struct,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/ldap.c,127,FP,LDAP_TRACE macro param used only in printf-style varargs; parenthesizing inapplicable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ldap.c,206,FP,"data passed to curl APIs that mutate via struct; const not addable, vtable-shaped",curl_full_audit_0.4.35,high
MEM03-C,curl,lib/ldap.c,256,FP,"passwd is borrowed conn->passwd pointer, not a local buffer to scrub here",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/ldap.c,418,FP,ludp non-NULL after rc==0 guard (parse_low returns err if calloc fails),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ldap.c,447,FP,name assigned by curlx_convert before use; sqc #ifdef branch confusion,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,468,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,501,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,508,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,510,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,511,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,511,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,512,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,521,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,522,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,522,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,523,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,531,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,533,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,533,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,534,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,534,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,534,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,534,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,535,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,535,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,538,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,539,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,539,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,540,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ldap.c,548,FP,val_b64 set by base64_encode and guarded by val_b64_sz>0,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,552,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,553,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,553,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,554,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,564,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,564,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,564,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,564,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,565,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,565,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,567,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,568,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,568,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,569,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,579,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,580,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,580,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,581,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,590,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,594,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,594,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,595,FP,"error-branch frees followed by goto quit; mutually exclusive paths, not double-free/UAF",curl_full_audit_0.4.35,high
CON03-C,curl,lib/ldap.c,630,FP,do_trace is DEBUG_LDAP-only one-shot init; not a real threading concern,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/ldap.c,634,FP,env passed to curlx_str_number which handles parsing; DEBUG_LDAP only,curl_full_audit_0.4.35,med
CON34-C,curl,lib/ldap.c,634,FP,getenv in DEBUG_LDAP trace init; not security/thread sensitive,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/ldap.c,635,FP,"e is modified by curlx_str_number(&env,&e,...) via pointer",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/ldap.c,636,FP,"curlx_str_number advances pointer, does not modify string contents",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ldap.c,673,FP,num_entries(p) called only when *p true; p non-NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ldap.c,695,FP,"data passed to curl APIs that mutate via struct; const not addable, vtable-shaped",curl_full_audit_0.4.35,high
EXP40-C,curl,lib/ldap.c,732,FP,char *dn=p / *filter=p where p is char* (non-const); no const cast,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ldap.c,770,FP,*q++=0 write of literal / char-pointer idiom; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ldap.c,773,FP,*q++=0 write of literal / char-pointer idiom; no sign-extension bug,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,782,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,798,FP,unescaped freshly allocated by Curl_urldecode then either freed or ownership-transferred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,798,FP,unescaped freshly allocated by Curl_urldecode then either freed or ownership-transferred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,806,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,806,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,809,FP,"unescaped freed once per loop iter (Win32); reassigned each iteration, no double free",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,809,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,811,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,816,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,819,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ldap.c,832,FP,*q++=0 write of literal / char-pointer idiom; no sign-extension bug,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,836,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,841,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ldap.c,851,FP,*q++=0 write of literal / char-pointer idiom; no sign-extension bug,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/ldap.c,854,FP,char *dn=p / *filter=p where p is char* (non-const); no const cast,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ldap.c,855,FP,unescaped assigned by Curl_urldecode before use; early-return on failure,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,861,FP,unescaped freshly allocated by Curl_urldecode then either freed or ownership-transferred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,861,FP,unescaped freshly allocated by Curl_urldecode then either freed or ownership-transferred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,870,FP,unescaped freshly allocated by Curl_urldecode then either freed or ownership-transferred,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,873,FP,"unescaped freed once per loop iter (Win32); reassigned each iteration, no double free",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ldap.c,873,FP,"per-error-branch cleanup then goto quit; branches mutually exclusive, no double free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,875,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ldap.c,896,FP,"lud_attrs stored in caller-owned ludp, freed by ldap_free_urldesc_low",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/ldap.c,915,FP,"ludp is calloc heap allocation, not stack address",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,927,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,929,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,930,FP,ludp/lud_attrs never freed in this fn; reads precede frees in free_urldesc loop,curl_full_audit_0.4.35,high
API05-C,curl,lib/ldap.c,939,FP,advisory C99 array-param style; curl never uses it,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/ldap.c,956,FP,"integer division on api.ldapai_vendor_version (int), no floating point",curl_full_audit_0.4.35,high
FLP03-C,curl,lib/ldap.c,958,FP,"integer division on api.ldapai_vendor_version (int), no floating point",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,966,FP,api fields freed once in mutually-exclusive __OS400__/else branches,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,968,FP,api fields freed once in mutually-exclusive __OS400__/else branches,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ldap.c,968,FP,api fields freed once in mutually-exclusive __OS400__/else branches,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ldap.c,1008,FP,Curl_scheme_ldap/ldaps referenced externally by scheme table; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ldap.c,1008,FP,const scheme struct with required external linkage; cannot be function-local,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ldap.c,1024,FP,Curl_scheme_ldap/ldaps referenced externally by scheme table; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ldap.c,1024,FP,const scheme struct with required external linkage; cannot be function-local,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/ftp.c,80,FP,"function-like macro, simple lvalue args, no side effects; idiomatic",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/ftp.c,80,FP,"macro arg is plain pointer lvalue, no multiple-eval hazard",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/ftp.c,84,FP,"function-like macro, simple lvalue args, no side effects; idiomatic",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/ftp.c,84,FP,"macro arg is plain pointer lvalue, no multiple-eval hazard",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,88,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/ftp.c,127,FP,"function-like macro, simple lvalue args, no side effects; idiomatic",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/ftp.c,127,FP,"macro arg is plain pointer lvalue, no multiple-eval hazard",curl_full_audit_0.4.35,high
API02-C,curl,lib/ftp.c,171,FP,pointer+separate-size already; C99 array syntax not curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,171,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,172,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,187,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,207,TP,static helper never writes through ftp; const addable,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/ftp.c,221,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,221,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,221,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,226,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,231,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,242,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,245,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,245,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ftp.c,249,FP,"sizeof(*ss) is full struct type, not decayed array",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,249,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,250,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,268,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,268,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ftp.c,275,FP,"sizeof(*ss) is full struct type, not decayed array",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,277,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,281,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,282,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,282,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,292,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,304,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,313,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,318,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/ftp.c,329,FP,idiomatic !strncmp/!memcmp or correct ==1 inet_pton test,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,329,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,336,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,345,TP,static non-vtable helper only reads ftpc->transfertype,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/ftp.c,373,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,374,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/ftp.c,421,FP,"blen is size_t, not pointer; chunk_len within same buffer",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,459,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,471,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
INT13-C,curl,lib/ftp.c,491,FP,idiomatic flag bit-test on socket select mask,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,510,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,575,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,575,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,576,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,576,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,594,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,603,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,633,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,741,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
CON34-C,curl,lib/ftp.c,757,FP,"debug-only getenv, advisory; not a concurrency bug here",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,803,TP,pathlen() static helper only reads ftpc->dirs,curl_full_audit_0.4.35,low
ARR00-C,curl,lib/ftp.c,807,FP,index bounded by DEBUGASSERT/guard or within buffer,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,810,TP,pathpiece() static helper only reads ftpc fields,curl_full_audit_0.4.35,low
MSC04-C,curl,lib/ftp.c,823,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/ftp.c,856,FP,args are pure reads of distinct fields; no unsequenced modification,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,882,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,883,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,885,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,886,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,887,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,888,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,902,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/ftp.c,914,FP,index bounded by DEBUGASSERT/guard or within buffer,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/ftp.c,934,FP,idiomatic !strncmp/!memcmp or correct ==1 inet_pton test,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,973,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
STR31-C,curl,lib/ftp.c,979,FP,explicit NUL written immediately after memcpy,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,979,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/ftp.c,980,FP,index bounds-checked before access / loop bounded by source,curl_full_audit_0.4.35,high
CON43-C,curl,lib/ftp.c,983,FP,"switch on function return value, no shared double-fetch",curl_full_audit_0.4.35,high
STR31-C,curl,lib/ftp.c,991,FP,explicit NUL written immediately after memcpy,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/ftp.c,992,FP,index bounds-checked before access / loop bounded by source,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,993,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,998,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,1015,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,1018,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,1019,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ftp.c,1030,FP,"sizeof(*ss) is full struct type, not decayed array",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1049,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,1058,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/ftp.c,1092,FP,"'result' is a CURLcode, not a file descriptor",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/ftp.c,1109,FP,"pointer set to heap/list element, not stack local",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,1119,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,1137,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
POS02-C,curl,lib/ftp.c,1147,FP,curl is not setuid; no privilege to drop,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ftp.c,1156,FP,"sizeof(*ss) is full struct type, not decayed array",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ftp.c,1185,FP,"sizeof(*ss) is full struct type, not decayed array",curl_full_audit_0.4.35,high
POS02-C,curl,lib/ftp.c,1203,FP,curl is not setuid; no privilege to drop,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,1218,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,1222,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,1222,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/ftp.c,1228,FP,variable is written via Curl_printable_address,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/ftp.c,1228,FP,"compile-time-constant array size, not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/ftp.c,1290,FP,"compile-time-constant array size, not a VLA",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/ftp.c,1295,FP,index bounds-checked before access / loop bounded by source,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1297,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/ftp.c,1299,FP,"*dest=*source is char assignment, not flexible-array struct",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1299,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1299,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1299,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1303,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
INT08-C,curl,lib/ftp.c,1304,FP,port shift cast to int; no overflow,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/ftp.c,1338,FP,buffer bounds-checked against length before copy,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,1349,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,1369,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,1379,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,1409,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,1431,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,1431,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1459,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1500,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1521,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,1543,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1571,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,1571,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1599,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1607,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1615,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1623,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1656,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/ftp.c,1730,FP,"compile-time-constant array size, not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,1730,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,1795,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,1861,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,1933,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2023,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,2027,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2028,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2032,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2079,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2086,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2095,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2120,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2129,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2143,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2147,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,2162,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,2172,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2174,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2186,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2186,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2191,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2195,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2197,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2208,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2208,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2209,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2212,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2228,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2234,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2235,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2237,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2240,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,2244,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,2244,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,2277,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/ftp.c,2384,FP,intentional empty body chaining else-if (commented),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,2435,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2505,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,2522,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,2660,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2709,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,2709,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/ftp.c,2712,FP,"pointer walks within recvbuf array, bounded by guard",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/ftp.c,2714,FP,"pointer walks within recvbuf array, bounded by guard",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/ftp.c,2715,FP,index bounded by DEBUGASSERT/guard or within buffer,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/ftp.c,2715,FP,"pointer walks within recvbuf array, bounded by guard",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/ftp.c,2716,FP,"pointer walks within recvbuf array, bounded by guard",curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,2733,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,2881,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,2881,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/ftp.c,2884,FP,idiomatic !strncmp/!memcmp or correct ==1 inet_pton test,curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,2891,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ftp.c,3105,FP,pointer guarded non-null on this path / callee NULL-safe,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3115,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3117,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3118,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3118,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3119,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3119,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3122,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ftp.c,3138,FP,initializer-sized array; explicit bounds advisory only,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,3193,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3355,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3382,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3388,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3395,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3395,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3397,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/ftp.c,3404,FP,args are pure reads of distinct fields; no unsequenced modification,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3404,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3405,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3406,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3421,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3421,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3424,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/ftp.c,3426,FP,args are pure reads of distinct fields; no unsequenced modification,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3426,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3427,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3428,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3434,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/ftp.c,3442,FP,args are pure reads of distinct fields; no unsequenced modification,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3442,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3443,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3444,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3457,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3463,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3468,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3490,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,3516,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,3584,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/ftp.c,3590,FP,index bounds-checked before access / loop bounded by source,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,3641,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3703,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/ftp.c,3705,FP,intentional empty body chaining else-if (commented),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3705,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3708,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3708,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3712,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3717,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3717,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3717,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,3718,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/ftp.c,3791,FP,intentional empty body chaining else-if (commented),curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,3797,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
INT18-C,curl,lib/ftp.c,3810,FP,"compared variable is signed curl_off_t, not unsigned",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/ftp.c,3844,FP,"intentional bounded FTP state-machine dispatch, not unbounded recursion",curl_full_audit_0.4.35,high
EXP40-C,curl,lib/ftp.c,3918,FP,"void* param assignment, no const involved",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ftp.c,3970,FP,freed on error label / ownership transferred to dtor; no leak,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/ftp.c,4007,FP,"code after return is a goto label target, reachable",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/ftp.c,4018,FP,"for(;;) loop; every case returns, end unreachable",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,4208,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/ftp.c,4325,FP,idiomatic void* meta round-trip; alignment preserved,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,4342,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,4342,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,4342,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,4351,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,4351,FP,param flows to mutating callee or vtable-locked signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ftp.c,4351,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,4362,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,4362,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,4362,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/ftp.c,4363,FP,struct-member free or free-then-reassign propagated to whole struct; not UAF,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ftp.c,4366,TP,type_url_check never writes ftp struct fields,curl_full_audit_0.4.35,low
EXP20-C,curl,lib/ftp.c,4371,FP,idiomatic !strncmp/!memcmp or correct ==1 inet_pton test,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/ftp.c,4373,FP,"pointer walks within recvbuf array, bounded by guard",curl_full_audit_0.4.35,high
STR34-C,curl,lib/ftp.c,4375,FP,char/pointer copy or ptr subtraction; no sign-extension bug,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,4402,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ftp.c,4407,FP,variable written by callee via out-param before use,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,4410,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,4417,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,4426,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/ftp.c,4442,FP,var is CURLcode / ownership transferred to dtor; no stack leak,curl_full_audit_0.4.35,high
API00-C,curl,lib/ftp.c,4445,FP,"thin internal helper; callees handle pointers, siblings same",curl_full_audit_0.4.35,high
API00-C,curl,lib/ftp.c,4445,FP,"thin internal helper; callees handle pointers, siblings same",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ftp.c,4488,FP,intentionally external; referenced from scheme table in url.c,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ftp.c,4488,FP,file-scope scheme struct must have external linkage,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ftp.c,4507,FP,intentionally external; referenced from scheme table in url.c,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ftp.c,4507,FP,file-scope scheme struct must have external linkage,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/setopt.c,81,FP,"Curl_* exported, used externally (e.g. OS400 ccsidcurl.c); cannot be static",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/setopt.c,81,FP,"Curl_* exported symbol, referenced outside this TU; not file-local",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,92,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,92,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/setopt.c,100,FP,"Curl_* exported, used externally (e.g. OS400 ccsidcurl.c); cannot be static",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/setopt.c,100,FP,"Curl_* exported symbol, referenced outside this TU; not file-local",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,113,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
INT14-C,curl,lib/setopt.c,113,FP,flags&MASK ? len : 0 inside malloc size; readability advisory not a bug,curl_full_audit_0.4.35,high
INT14-C,curl,lib/setopt.c,113,FP,flags&MASK ? len : 0 inside malloc size; readability advisory not a bug,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/setopt.c,117,FP,curl_blob has no flexible array member; plain struct copy is correct,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/setopt.c,120,FP,"(char*)nblob + sizeof: byte offset on char*, correct not double-scaled",curl_full_audit_0.4.35,high
MEM03-C,curl,lib/setopt.c,135,FP,"passwd is local char* ownership-transferred to *passwdp, not a buffer to zero",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,143,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,153,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setopt.c,154,FP,"value is heap pointer from parse/strdup, not stack address; persists",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,154,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,156,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setopt.c,157,FP,"value is heap pointer from parse/strdup, not stack address; persists",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,157,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,180,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setopt.c,181,FP,"value is heap pointer from parse/strdup, not stack address; persists",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,181,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,183,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setopt.c,184,FP,"value is heap pointer from parse/strdup, not stack address; persists",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,184,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/setopt.c,186,FP,curlx_* declared via included curlx/strdup.h; not implicit decl,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setopt.c,187,FP,"value is heap pointer from parse/strdup, not stack address; persists",curl_full_audit_0.4.35,high
STR34-C,curl,lib/setopt.c,187,FP,"char* string assignment, not signed-char sign-extension; idiomatic",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/setopt.c,218,FP,pointer guarded non-NULL before pass / callee handles NULL,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/setopt.c,227,FP,str++ only modification; && is a sequence point,curl_full_audit_0.4.35,high
INT13-C,curl,lib/setopt.c,266,FP,& operand auth is unsigned long; bitcheck is shift amount only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/setopt.c,322,FP,param stored into / written through struct member; const breaks store; fixed dispatch sig,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/setopt.c,478,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/setopt.c,844,FP,param stored into / written through struct member; const breaks store; fixed dispatch sig,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/setopt.c,973,FP,every compiled path returns (switch default + #else arm); not fallthrough,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/setopt.c,994,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/setopt.c,1029,FP,every compiled path returns (switch default + #else arm); not fallthrough,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/setopt.c,1065,FP,every compiled path returns (switch default + #else arm); not fallthrough,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/setopt.c,1178,FP,0777 intentional Unix file-permission octal; idiomatic,curl_full_audit_0.4.35,high
DCL18-C,curl,lib/setopt.c,1203,FP,0777 intentional Unix file-permission octal; idiomatic,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/setopt.c,1303,FP,initializer-sized const function-pointer table; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/setopt.c,1323,FP,param stored into / written through struct member; const breaks store; fixed dispatch sig,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/setopt.c,1442,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1443,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MSC39-C,curl,lib/setopt.c,1453,FP,"va_list passed by value to dispatch helper; caller returns, no reuse; idiomatic",curl_full_audit_0.4.35,low
MEM30-C,curl,lib/setopt.c,1468,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1469,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1494,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1498,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1498,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1498,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1503,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1503,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1503,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1507,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1507,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1507,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1508,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1508,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1508,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1510,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1510,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1511,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1512,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1515,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1515,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1528,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1531,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1535,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1539,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1542,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1546,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1547,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1642,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,1650,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/setopt.c,1684,FP,pointer guarded non-NULL before pass / callee handles NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/setopt.c,1689,FP,pointer guarded non-NULL before pass / callee handles NULL,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/setopt.c,1788,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
INT18-C,curl,lib/setopt.c,1845,FP,postfieldsize is signed curl_off_t; == -1 valid; not unsigned compare,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/setopt.c,1846,FP,pointer guarded non-NULL before pass / callee handles NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/setopt.c,1883,FP,result assigned by setopt_cptr_proxy before read on compiled path,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/setopt.c,1908,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,2504,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/setopt.c,2512,FP,cleanup/free of distinct member then null; not use-after-free,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2549,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2551,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2553,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2555,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2557,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/setopt.c,2562,FP,!strcmp option-dispatch idiom; FP per brief,curl_full_audit_0.4.35,high
MSC39-C,curl,lib/setopt.c,2574,FP,"va_list passed by value to dispatch helper; caller returns, no reuse; idiomatic",curl_full_audit_0.4.35,low
MSC07-C,curl,lib/setopt.c,2631,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/setopt.c,2900,FP,case label after return/break is reachable via switch dispatch,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/setopt.c,2918,FP,"Curl_* exported, used externally (e.g. OS400 ccsidcurl.c); cannot be static",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/setopt.c,2918,FP,"Curl_* exported symbol, referenced outside this TU; not file-local",curl_full_audit_0.4.35,high
MSC39-C,curl,lib/setopt.c,2918,FP,"va_list passed by value to dispatch helper; caller returns, no reuse; idiomatic",curl_full_audit_0.4.35,low
EXP47-C,curl,lib/setopt.c,2948,FP,va_arg char promotion advisory; not a defect here,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_cb_hdr.c,33,FP,8-char header-name collision is advisory; no modern filesystem limit applies,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.c,63,FP,curl never uses C99 conformant-array param syntax; stylistic by convention,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_cb_hdr.c,72,FP,getenv result IS checked: if(vver) guard on next line,curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_cb_hdr.c,72,FP,CLI single-threaded init path; getenv static-storage threading not applicable,curl_full_audit_0.4.35,med
ENV30-C,curl,src/tool_cb_hdr.c,76,FP,"curlx_str_number takes const char**, advances pointer only; does not modify env string",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_hdr.c,79,FP,num set by curlx_str_number on success path before short-circuit use; sqc dataflow miss,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,91,FP,llen guarded nonzero by while(llen && ...) before llen-1 indexing,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,91,FP,duplicate; llen>0 guaranteed by loop condition,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,92,FP,--llen guarded by while(llen && ...) condition; cannot underflow,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_hdr.c,120,FP,!strcmp idiom in scheme dispatch; idiomatic curl style,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_cb_hdr.c,120,FP,scheme non-NULL: curl_url_get success at 117 guarantees output set or goto locout,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_hdr.c,121,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_hdr.c,122,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_hdr.c,123,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_cb_hdr.c,126,FP,finalurl non-NULL: curl_url_get success at 114 sets it or goto locout,curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_cb_hdr.c,135,FP,best-effort fallback display write to terminal; error handling not meaningful here,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_hdr.c,135,FP,"display fallback write; unchecked fwrite to stdout is idiomatic, not a bug",curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_cb_hdr.c,139,FP,curl_free is NULL-safe (free wrapper); inside if(u) block anyway,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_cb_hdr.c,140,FP,curl_free is NULL-safe,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.c,150,FP,conformant-array style; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,165,FP,"stop=*p stores char into char (stop), no widening sign-extension issue",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,165,FP,duplicate; char-to-char assignment,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,172,FP,"*q='\0' is char store, not widening conversion",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,179,FP,*q='\0' char store,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,182,FP,*q='\0' char store,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,210,FP,*q='\0' char store,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,214,FP,*q='\0' char store,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_cb_hdr.c,217,FP,strlen(p)+1 of substring within bounded heap copy; cannot overflow,curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_cb_hdr.c,217,FP,"no const cast present; memmove(copy,p,...) where both are char*",curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_cb_hdr.c,230,FP,"copy is heap (curlx_memdup0/sanitize), not automatic storage",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,230,FP,copy not freed on this path; all tool_safefree branches return earlier,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_cb_hdr.c,235,FP,h is mutated in loop (h=h->next); not const-eligible,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_cb_hdr.c,255,FP,etag_save->stream written via fwrite/ftruncate; pointer used non-const,curl_full_audit_0.4.35,med
ARR36-C,curl,src/tool_cb_hdr.c,259,FP,etag_h and endp/eot point into same header buffer; valid comparison,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,264,FP,"same buffer (eot=endp-1, etag_h within it); valid",curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,265,FP,eot-etag_h within same header buffer; valid subtraction,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,265,FP,pointer subtraction yields ptrdiff; no char sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,265,FP,"pointer subtraction, not char widening",curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_cb_hdr.c,279,FP,"etag write to user file; fflush follows, idiomatic best-effort",curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_hdr.c,279,TP,[adv-fix] sqc correctly flagged unchecked fwrite at save_etag:279,curl_full_audit_0.4.35,med
FIO18-C,curl,src/tool_cb_hdr.c,279,FP,"etag_length correctly derived from trimmed pointer span, not raw strlen",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.c,294,FP,conformant-array style; convention,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.c,294,FP,conformant-array style; convention,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,304,FP,"p=&str[9] is pointer assignment, not char widening; str is char*, not array[9]",curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,306,FP,p and end point into same str header buffer; valid comparison,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,311,FP,curlx_free declared via included curl headers; sqc no-preprocessor miss,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,315,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,320,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,321,FP,outs->filename freshly assigned by curl_maprintf at 318; reads new value not freed,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_cb_hdr.c,333,FP,str is char* param not array[9]; str+20 valid (cb>20 guard); sqc array misparse,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_hdr.c,337,FP,filename assigned by parse_filename at 358 before use; sqc dataflow miss,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,340,FP,p and end same buffer; valid,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,347,FP,p and end same buffer; valid,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_cb_hdr.c,349,FP,p and end same buffer; valid,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,362,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,366,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,371,FP,curlx_free declared in headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,372,FP,outs->filename freshly assigned at 369; reads new value,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,383,FP,"outs is &per->outs, never freed; no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,385,FP,outs never freed; struct lives in per_transfer,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,385,FP,outs->stream just opened by tool_create_output_file; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,390,FP,outs->stream live; never freed in this function,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cb_hdr.c,392,FP,outs->stream live; not freed,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cb_hdr.c,404,FP,curlx_free declared in included curl headers; sqc no-preprocessor miss,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_hdr.c,426,FP,libcurl callback contract guarantees ptr non-NULL; fixed CURLOPT_HEADERFUNCTION signature,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_cb_hdr.c,426,FP,size always 1 per contract; cb=size*nmemb bounded by libcurl,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_cb_hdr.c,426,FP,callback signature fixed by libcurl typedef; cannot use array syntax,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_hdr.c,426,FP,fixed callback typedef; conformant-array N/A,curl_full_audit_0.4.35,high
FIO18-C,curl,src/tool_cb_hdr.c,459,FP,header data is binary stream not C string; nmemb is correct count,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,459,FP,ptr passed to fwrite as void*; no char widening conversion,curl_full_audit_0.4.35,high
EXP15-C,curl,src/tool_cb_hdr.c,475,FP,empty body intentional (only-care comment); else-if chain handles real work,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,482,FP,&str[5] pointer arith and endp pointer; no char-to-int widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,482,FP,"pointer args, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,482,FP,"pointer args, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,493,FP,str/end are pointers passed to content_disposition; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,493,FP,pointer args,curl_full_audit_0.4.35,high
PRE32-C,curl,src/tool_cb_hdr.c,519,FP,"#ifdef _WIN32 inside if-condition block, not inside a memchr macro call",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,525,FP,namelen=value-ptr is pointer subtraction; no char widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_cb_hdr.c,525,FP,pointer subtraction,curl_full_audit_0.4.35,high
INT31-C,curl,src/tool_cb_hdr.c,526,FP,namelen bounded by header len <= CURL_MAX_HTTP_HEADER; (int) cast safe,curl_full_audit_0.4.35,med
ERR00-C,curl,src/tool_cb_hdr.c,528,FP,"display fwrite to user stream; best-effort, idiomatic",curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_hdr.c,528,FP,display fwrite return unchecked; idiomatic terminal output,curl_full_audit_0.4.35,med
FIO09-C,curl,src/tool_cb_hdr.c,528,FP,"writing HTTP header text bytes, not structured binary; no portability issue",curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_cb_hdr.c,528,FP,"cb is size_t, namelen=value-ptr (same buffer); not cross-array pointer subtraction",curl_full_audit_0.4.35,high
INT00-C,curl,src/tool_cb_hdr.c,528,FP,cb>=namelen+1 since value(':')<end within buffer of length cb,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,528,FP,value found within ptr[0..cb); cb-namelen-1 >= 0 guaranteed,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_cb_hdr.c,531,FP,"cb size_t minus namelen ptrdiff; same buffer, not cross-array",curl_full_audit_0.4.35,high
INT00-C,curl,src/tool_cb_hdr.c,531,FP,cb>=namelen+1 by construction,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,531,FP,value within buffer; no underflow,curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_cb_hdr.c,535,FP,display fwrite best-effort,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_hdr.c,535,FP,display fwrite return unchecked; idiomatic,curl_full_audit_0.4.35,med
FIO09-C,curl,src/tool_cb_hdr.c,535,FP,"header text bytes, not structured binary",curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_cb_hdr.c,535,FP,same-buffer arithmetic; not cross-array subtraction,curl_full_audit_0.4.35,high
INT00-C,curl,src/tool_cb_hdr.c,535,FP,cb>=namelen+1 by construction,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_hdr.c,535,FP,no underflow; value within buffer,curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_cb_hdr.c,540,FP,display fwrite best-effort fallback,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_cb_hdr.c,540,FP,display fwrite return unchecked; idiomatic,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/http_aws_sigv4.c,76,FP,"returns Curl_checkheaders result (pointer into header list), not automatic storage",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_aws_sigv4.c,81,FP,trim_headers mutates list node data in place; cannot be const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,86,FP,store assigned from value before any read on every path,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/http_aws_sigv4.c,88,FP,Curl_strntolower params not restrict; intentional in-place lowercasing,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/http_aws_sigv4.c,99,FP,loop bounded by NUL terminator of value string; standard string walk,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,109,FP,"char store/value copy; no widening, idiomatic char move",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/http_aws_sigv4.c,112,FP,no flexible-array struct here; *store++=*value++ is char copy,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,112,FP,"char-to-char copy, no integer widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,112,FP,"char-to-char copy, no widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,112,FP,"char-to-char copy, no widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,114,FP,*store=0 NUL terminate; no sign-extension issue,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_aws_sigv4.c,134,FP,dyn_array_free mutates db entries via curlx_dyn_free; not const,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,150,FP,curl convention; no C99 array-param syntax used project-wide,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,151,FP,db[MAX_QUERY_COMPONENTS] uses compile-time macro size; advisory only,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,155,FP,strlen(source) takes const char*; no char sign-extension,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http_aws_sigv4.c,213,FP,c reassigned each loop iteration; cannot be const-qualified usefully,curl_full_audit_0.4.35,med
API05-C,curl,lib/http_aws_sigv4.c,228,FP,curl convention; advisory array-param syntax,curl_full_audit_0.4.35,high
INT31-C,curl,lib/http_aws_sigv4.c,238,FP,"hexval nibbles 0-15; (n<<4)|n fits a byte, cast to uchar safe",curl_full_audit_0.4.35,high
INT14-C,curl,lib/http_aws_sigv4.c,238,FP,"string is pointer indexing; readability advisory, not a defect",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,316,FP,colon_a/colon_b are within their own a/b strings; valid same-array subtraction,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,374,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,375,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,376,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,378,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,379,FP,curl convention; advisory,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_aws_sigv4.c,402,FP,"!Curl_checkheaders boolean idiom; returns presence pointer, idiomatic",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,444,FP,dupdata assigned by strdup before use; guarded by NULL check,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,445,FP,ptr assigned in for-init before use,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,469,FP,date_header pointer assignment; no char widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,475,FP,date_header pointer assignment from maprintf; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,484,FP,date_header set to NULL; no char widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,500,FP,date_header set NULL; no widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_aws_sigv4.c,533,FP,*tmp=0 NUL terminate of char*; no sign-extension,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,556,FP,curl convention; advisory,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/http_aws_sigv4.c,584,FP,"returns value pointing into header (Curl_checkheaders result), not local",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,584,FP,"value is const char* into header storage, not a local array",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/http_aws_sigv4.c,587,FP,data->set.postfields read but Curl_easy threaded through; convention non-const,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/http_aws_sigv4.c,600,FP,"cast char* to const uchar* for hashing; byte access, no alignment need",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/http_aws_sigv4.c,609,FP,all paths set ret and reach fail: return ret; no fall-through,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,611,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,613,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,614,FP,curl convention; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/http_aws_sigv4.c,614,FP,curl convention; advisory,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,666,FP,"strcmp(curlx_dyn_ptr,curlx_dyn_ptr): pure getters, no side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,678,FP,strcmp of two dyn_ptr getters; no side effects between args,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_aws_sigv4.c,683,FP,"canon_path is UNITTEST helper; q passed to curlx_str_assign, internal caller-controlled",curl_full_audit_0.4.35,med
API05-C,curl,lib/http_aws_sigv4.c,683,FP,curl convention; advisory,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/http_aws_sigv4.c,713,FP,line is dynbuf query_array[] decl; no getenv involved,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/http_aws_sigv4.c,714,FP,line is pair encoded_query_array[] decl; no getenv involved,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,722,FP,split_to_dyn_array initializes elements and sets num before reads (callee-filled out-param),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,730,FP,num_query_components set by split_to_dyn_array (always sets *num_splits_out) before loop,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,734,FP,query_array filled by split_to_dyn_array for index<num before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,735,FP,query_array filled by callee before read,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_aws_sigv4.c,739,FP,query_part is dyn_ptr of populated dynbuf; non-NULL after dyn_addn,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_aws_sigv4.c,742,FP,in_key=query_part already established non-NULL,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,748,FP,"encoded_query_array element being initialized here (curlx_dyn_init), not read",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/http_aws_sigv4.c,748,FP,curlx_dyn_init writes the element; this is the initialization site,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,750,FP,"curlx_dyn_init of value member; initialization, not read",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,756,FP,normalize_query writes into .key after init; element initialized above,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,767,FP,normalize_query writes .value; element initialized at 748/750,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,774,FP,curlx_dyn_init of value; initialization site,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,775,FP,dyn_addn into initialized value member,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,793,FP,"reads dyn_ptr of element index<num, populated in prior loop",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,794,FP,reads value of populated element index<num,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/http_aws_sigv4.c,795,FP,dyn_len of populated element index<num,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/http_aws_sigv4.c,841,FP,content_sha256_hdr array written via memcpy at 980; not const-able,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/http_aws_sigv4.c,841,FP,CONTENT_SHA256_HDR_LEN is compile-time macro constant; not a VLA,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/http_aws_sigv4.c,844,FP,credential_scope is heap pointer freed at fail; not stack sensitive buffer; scope not secret,curl_full_audit_0.4.35,med
DCL00-C,curl,lib/http_aws_sigv4.c,845,FP,str_to_sign reassigned/written by Curl_strntoupper; not const-able,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/http_aws_sigv4.c,847,FP,"secret is heap pointer freed via curlx_free; curl does not zero it (potential hardening, but not CERT stack-buffer case)",curl_full_audit_0.4.35,low
EXP30-C,curl,lib/http_aws_sigv4.c,926,FP,curlx_str/curlx_strlen are pure getters on same struct; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,936,FP,pure getter args to calc_s3_payload_hash; no side effects,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/http_aws_sigv4.c,951,FP,DEBUGBUILD-only getenv used immediately for branch; not stored long-term,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/http_aws_sigv4.c,951,FP,getenv result checked: if(force_timestamp) branch handles NULL,curl_full_audit_0.4.35,high
CON34-C,curl,lib/http_aws_sigv4.c,951,FP,DEBUGBUILD-only single-threaded test hook; static storage not shared concern,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/http_aws_sigv4.c,955,FP,time(NULL) for timestamp; (time_t)-1 still feeds gmtime which is checked at 960,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/http_aws_sigv4.c,958,FP,time(NULL); failure flows to curlx_gmtime check at 960,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/http_aws_sigv4.c,969,FP,make_headers args are pure getters; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,990,FP,canon_path args pure getters/strlen; no side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,998,FP,curl_maprintf with dyn_ptr/curlx_str getters; no side effects between args,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_aws_sigv4.c,1004,FP,"method set by Curl_http_method; non-NULL for valid request, maprintf %s on it",curl_full_audit_0.4.35,med
EXP43-C,curl,lib/http_aws_sigv4.c,1025,FP,Curl_strntolower not restrict; intentional in-place lowercasing of request_type,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1027,FP,curl_maprintf with pure getter args; no side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1059,FP,Curl_strntoupper with curlx_str/strlen getters; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1071,FP,pure getter args; no side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1074,FP,HMAC_SHA256 macro args are getters; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1076,FP,getter args; no side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1085,FP,curl_maprintf with getter/dyn_ptr args; no side effects,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/http_aws_sigv4.c,1105,FP,result is CURLcode value not alloc; make_headers frees its own allocations internally,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/http_aws_sigv4.c,1108,FP,Curl_strntoupper getter args; no side effects,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1111,FP,free(userpwd) then reassign to auth_headers at 1112; free-then-reassign not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1111,FP,data->state freed-pointer claim spurious; only userpwd freed then replaced,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1112,FP,"assigns userpwd=auth_headers after free; write to replaced field, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1112,FP,data->state member write after free; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1113,FP,authhost.done=TRUE write; unrelated to freed userpwd,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/http_aws_sigv4.c,1113,FP,data->state member write; not freed memory,curl_full_audit_0.4.35,high
PRE08-C,curl,lib/vauth/digest.c,35,FP,"Header-name 8-char collision is advisory; curl builds fine, not actionable",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,54,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,55,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,56,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vauth/digest.c,67,FP,"No flexible-array struct; plain char copy *p++=*q++, misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,67,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,67,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,67,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,68,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
CON43-C,curl,lib/vauth/digest.c,82,FP,"Single-threaded string parse; *str not shared, no double-fetch",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/vauth/digest.c,120,FP,"No flexible-array struct; plain char copy *p++=*q++, misparse",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,120,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,120,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,120,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,125,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,126,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/digest.c,135,FP,'dest' is written via dest[i*2] in loop; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/digest.c,145,FP,'dest' is written via dest[i*2] in loop; cannot be const,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vauth/digest.c,159,FP,"Loop bounded by NUL terminator / curlx_str API, not unbounded",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,178,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,178,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,179,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,194,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,194,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,270,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,271,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,272,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,273,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,282,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,286,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,288,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,292,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vauth/digest.c,296,FP,"QOP/key-name protocol constant, not a hard-coded credential",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/digest.c,333,FP,Internal callers pass non-NULL; curl convention omits param NULL-checks,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/digest.c,333,FP,Internal callers pass non-NULL; curl convention omits param NULL-checks,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/digest.c,333,FP,Internal callers pass non-NULL; curl convention omits param NULL-checks,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/digest.c,333,FP,Internal callers pass non-NULL; curl convention omits param NULL-checks,curl_full_audit_0.4.35,med
MEM05-C,curl,lib/vauth/digest.c,344,FP,"Fixed-size array (constant MD5_DIGEST_LEN expr), not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/digest.c,345,FP,"Fixed-size array (constant MD5_DIGEST_LEN expr), not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vauth/digest.c,346,FP,"Fixed-size array (constant MD5_DIGEST_LEN expr), not a VLA",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vauth/digest.c,353,FP,"Local char[] used read-only; const advisory, not actionable",curl_full_audit_0.4.35,med
DCL00-C,curl,lib/vauth/digest.c,354,FP,"Local char[] used read-only; const advisory, not actionable",curl_full_audit_0.4.35,med
ARR02-C,curl,lib/vauth/digest.c,355,FP,char qop[]=string-literal initializer; implicit bound idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,372,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
INT13-C,curl,lib/vauth/digest.c,379,FP,qop_values small flag bitmask; signed bitwise benign idiom,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,383,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,395,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,408,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,417,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,417,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,417,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,440,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,440,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,440,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,470,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,470,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest.c,470,FP,digest[] filled by Curl_MD5_final before loop reads it,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/digest.c,508,FP,Internal callers pass non-NULL; curl convention omits param NULL-checks,curl_full_audit_0.4.35,med
ENV01-C,curl,lib/vauth/digest.c,521,FP,"value/content are parse buffers, not getenv targets; misfire",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vauth/digest.c,522,FP,"value/content are parse buffers, not getenv targets; misfire",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,533,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,545,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,551,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vauth/digest.c,562,FP,"Loop bounded by NUL terminator / curlx_str API, not unbounded",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,578,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,584,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,591,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,643,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,647,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,651,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,651,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,679,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,680,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,681,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,682,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,684,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,702,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,716,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,739,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest.c,814,FP,Filled by out-param callee (decode/rand/MD5_final/convert) before read,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,816,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,817,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vauth/digest.c,817,FP,hashthis reassigned (maprintf) before each next free; no double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,825,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,825,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,826,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,842,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,842,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest.c,843,FP,free-then-strdup reassign or read of reassigned member; not UAF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vauth/digest.c,843,FP,hashthis reassigned (maprintf) before each next free; no double-free,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest.c,949,FP,char-to-char assignment or pointer assign; no sign-extending widening,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,984,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,985,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,986,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,987,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest.c,989,FP,"C99 conformant-array-param syntax; curl style, advisory only",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/doh.c,44,FP,Implicit bounds from initializer is valid idiomatic C,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,72,FP,Curl convention; never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,74,FP,Curl convention; never uses C99 array-param syntax,curl_full_audit_0.4.35,high
STR34-C,curl,lib/doh.c,78,FP,strlen(host) takes const char*; no sign-extension defect,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/doh.c,130,FP,while(*hostp) bounded by NUL and label-length checks,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/doh.c,144,FP,dnsp output buffer distinct from hostp input; no overlap,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,169,FP,Curl convention; callback signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,170,FP,Curl convention; callback signature fixed,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/doh.c,174,FP,Curl_meta_get returns void*; idiomatic struct cast,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,190,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,191,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/doh.c,193,FP,hexstr buffer unrelated to any env var,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/doh.c,239,FP,Args are pure getters on distinct objects; no conflict,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,257,FP,Dtor signature fixed by Curl_meta_set typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/doh.c,257,FP,Dtor signature fixed by function-pointer typedef; const impossible,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,257,FP,Dtor signature fixed by typedef,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/doh.c,264,FP,Normal free in destructor; not use-after-free,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/doh.c,292,FP,doh_req assigned by calloc then NULL-checked before use,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/doh.c,321,FP,"result is CURLcode; Curl_open is not open(2), no fd",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/doh.c,327,FP,doh non-null after Curl_open success guard,curl_full_audit_0.4.35,high
STR30-C,curl,lib/doh.c,329,FP,setopt does not modify the string literal,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/doh.c,406,FP,doh allocated and checked before this point,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/doh.c,417,FP,doh allocated and checked before this point,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/doh.c,421,FP,"Success return; ownership transferred, no leak",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/doh.c,423,FP,"error: label reached via goto, not unreachable",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/doh.c,427,FP,error path frees doh and doh_req via dtor,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/doh.c,459,FP,dohp stored in data->state.async.doh; freed by Curl_doh_cleanup,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/doh.c,514,FP,Success return; dohp owned by data->state.async.doh,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/doh.c,516,FP,"error: label reached via goto, not unreachable",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/doh.c,518,FP,error path calls Curl_doh_cleanup which frees dohp,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,521,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,522,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
INT14-C,curl,lib/doh.c,529,FP,DNS label-length mask/compare; readability advisory only,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,538,FP,length<=255 added to bounded index; guarded by dohlen check,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,540,FP,"1+length on unsigned char; promoted to int, bounded",curl_full_audit_0.4.35,high
INT14-C,curl,lib/doh.c,548,FP,16-bit assembly from bytes; idiomatic,curl_full_audit_0.4.35,high
INT14-C,curl,lib/doh.c,555,FP,doh is pointer increment; not bitwise/arith mix bug,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/doh.c,571,FP,"index validated by caller (dohlen>=index+rdlength), guarded store",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/doh.c,583,FP,memcpy 16 into ip.v6 which is exactly 16 bytes,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/doh.c,583,FP,index bounds-checked by caller before doh_rdata,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/doh.c,594,FP,"h written through (h->val, h->len); not const-eligible",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/doh.c,595,FP,index bounds-checked by caller; len validated,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,605,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/doh.c,615,FP,dynbuf member assignment; const-correctness advisory only,curl_full_audit_0.4.35,high
INT14-C,curl,lib/doh.c,620,FP,DNS compression-pointer mask check; idiomatic,curl_full_audit_0.4.35,high
INT14-C,curl,lib/doh.c,623,FP,index arithmetic in bounds check; readability advisory,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,627,FP,"14-bit offset assembly; promoted, bounded by dohlen",curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,641,FP,index+length compared to dohlen; bounds-checked,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,655,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/doh.c,683,FP,rc assigned by doh_store_https before the if(rc) read,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/doh.c,705,FP,de is real struct dohentry*; sizeof(*de) correct,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,711,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,785,FP,index+rdlength compared to dohlen immediately; bounds-checked,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,811,FP,index+rdlength bounds-checked against dohlen,curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,833,FP,index+rdlength bounds-checked against dohlen,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/doh.c,851,FP,return reached normally; not unreachable code,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/doh.c,869,FP,buffer is written through ptr in the loop; not const,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/doh.c,880,FP,ptr points into buffer[]; valid pointer arithmetic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/doh.c,927,FP,strlen(hostname) on const char*; no sign-extension,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/doh.c,956,FP,(char*)ai+sizeof correct byte arithmetic; no double scaling,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/doh.c,957,FP,(char*)ai->ai_addr+ss_size correct byte arithmetic,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/doh.c,981,FP,de is real struct ptr; sizeof of member array is valid,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/doh.c,990,FP,de is real struct ptr; sizeof of member array is valid,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/doh.c,1005,FP,"*aip points to caller storage; firstai is heap, not local addr",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/doh.c,1036,FP,de_cleanup frees each https_rrs[i].val once in loop,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,1056,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,1057,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/doh.c,1086,FP,"rem is size_t, not a pointer; analyzer mislabel",curl_full_audit_0.4.35,high
INT08-C,curl,lib/doh.c,1086,FP,clen<=255 unsigned char; clen<rem checked just above,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/doh.c,1093,FP,*buf set to cp which points into caller's input buffer,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/doh.c,1094,FP,rem is size_t; not pointer arithmetic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/doh.c,1095,FP,curlx_dyn_ptr returns char*; no sign-extension defect,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,1100,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1104,FP,Internal unittest fn; data used via getters that NULL-tolerate,curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1104,FP,cp from validated caller (de.https_rrs->val); internal fn,curl_full_audit_0.4.35,high
API05-C,curl,lib/doh.c,1105,FP,Curl convention; never uses array-param syntax,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/doh.c,1127,FP,dnsname set on CURLE_OK path before junkscan; non-null,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/doh.c,1150,FP,"*hrr set to heap lhrr, not address of local",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/doh.c,1152,FP,"err: label reached via goto, not unreachable",curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1162,FP,Debug-only print fn; DEBUGASSERT(hrr) guards; data via infof,curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1162,FP,hrr guarded by DEBUGASSERT; debug-only function,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/doh.c,1166,FP,hrr asserted non-null at function entry (debug build),curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1199,FP,data is internal handle always valid; siblings don't check either,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/doh.c,1231,FP,Args are pure dynbuf getters on same body; no conflict,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/doh.c,1235,FP,TRC macro args are pure getters; no side-effect ordering bug,curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1297,FP,Internal teardown; data always valid handle,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/doh.c,1297,FP,Teardown cycle guarded by mid/state; not infinite recursion,curl_full_audit_0.4.35,high
API00-C,curl,lib/doh.c,1325,FP,Internal cleanup; data always valid handle,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/doh.c,1325,FP,Teardown cycle guarded by state nulling; not infinite recursion,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/doh.c,1334,FP,Curl_safefree frees+nulls async.doh once; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/doh.c,1334,FP,Single free of async.doh via safefree; not double-free/UAF,curl_full_audit_0.4.35,high
API01-C,curl,lib/smb.c,67,FP,"challenge[8] is fixed wire-protocol struct layout (packed SMB), not reorderable buffer",curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,162,FP,sqc misparses PACK macro (__attribute__((packed))) as redeclared object; distinct structs,curl_full_audit_0.4.35,high
DCL38-C,curl,lib/smb.c,178,FP,char bytes[1] is intentional trailing array with GCC pragma; curl wire-format idiom,curl_full_audit_0.4.35,med
STR31-C,curl,lib/smb.c,178,FP,"bytes[1] is binary trailing member, not a string buffer; size deliberate",curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,181,FP,PACK macro misparsed as object; struct andx distinct type,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,187,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,201,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,210,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,229,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,246,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,259,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,276,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
DCL40-C,curl,lib/smb.c,283,FP,PACK macro misparsed as object; distinct struct,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/smb.c,302,FP,"'x' is unsigned short int param in smb_swap16, not a FILE stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/smb.c,302,FP,duplicate; 'x' is integer not FILE stream,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/smb.c,307,FP,"'x' is unsigned int param in smb_swap32, not a FILE stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/smb.c,307,FP,'x' is integer arg not a FILE stream,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/smb.c,307,FP,duplicate; 'x' is integer not FILE stream,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/smb.c,328,FP,names[] sized by initializer list; implicit bounds idiomatic and safe,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smb.c,349,FP,"Curl_meta_get returns void*; entry was originally allocated as smb_request, aligned",curl_full_audit_0.4.35,med
ARR02-C,curl,lib/smb.c,353,FP,names[] sized by initializer list; idiomatic,curl_full_audit_0.4.35,high
API05-C,curl,lib/smb.c,374,FP,curl never uses C99 conformant-array syntax; dtor signature fixed by callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,374,FP,smb_easy_dtor matches hash-dtor function-pointer typedef; const cannot be added,curl_full_audit_0.4.35,high
API05-C,curl,lib/smb.c,374,FP,conformant-array syntax not used in curl; callback signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/smb.c,385,FP,smb_conn_dtor signature fixed by callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,385,FP,dtor signature fixed by typedef; key param unused but const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/smb.c,385,FP,conformant-array syntax not used; callback signature fixed,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smb.c,411,FP,Curl_urldecode returns CURLE_OK only with non-NULL path; result checked at 407,curl_full_audit_0.4.35,high
STR34-C,curl,lib/smb.c,430,FP,*slash++ = 0 stores constant 0 into char; no sign-extension into wider type,curl_full_audit_0.4.35,high
STR34-C,curl,lib/smb.c,435,FP,*slash = '\\' stores constant char; no signed-char read into wider type,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smb.c,449,FP,smbc assigned from curlx_calloc at 449 and NULL-checked at 450 before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smb.c,455,FP,req assigned from curlx_calloc at 455 and NULL-checked at 456 before use,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,458,FP,"smbc/req registered via meta_set with dtors; freed by conn/easy cleanup, not leaked",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,461,FP,smbc/req owned by meta registry with dtors; not stack-local leak,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,464,FP,"smb_connect matches connect_it vtable signature; const not addable, data is mutated indirectly",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,464,FP,done is out-param written elsewhere; vtable signature fixed,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,485,FP,recv_buf/send_buf are smbc members freed by smb_conn_dtor; not a leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,496,FP,smbc buffers freed by registered dtor; struct-member alloc not leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,503,FP,smbc buffers freed by registered dtor; not leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smb.c,506,FP,smbc buffers freed by registered dtor; not leak,curl_full_audit_0.4.35,high
INT30-C,curl,lib/smb.c,527,FP,"got+=bytes_read bounded; recv len=MAX_MESSAGE_SIZE-got, cannot exceed buffer/wrap",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/smb.c,561,FP,"buf points to smbc->recv_buf (heap), not a local; *msg outlives function validly",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,571,FP,smb_format_message reads smbc fields only; could be const but matches local-helper convention curl skips,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/smb.c,572,FP,req only read; curl does not const-qualify such helper params project-wide,curl_full_audit_0.4.35,med
EXP05-C,curl,lib/smb.c,578,FP,"memset(h,0,sizeof(*h)) has no cast away from const; sizeof misparsed as cast",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/smb.c,578,FP,"h is pointer to single smb_header object, not decayed array; sizeof(*h) correct",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/smb.c,579,FP,"h points to one struct; sizeof(*h) is intended struct size, not array decay",curl_full_audit_0.4.35,high
INT08-C,curl,lib/smb.c,579,FP,len bounded by MAX_MESSAGE_SIZE check in smb_send_message before this call; cast to ushort intentional wire field,curl_full_audit_0.4.35,high
API05-C,curl,lib/smb.c,637,FP,conformant-array syntax not used in curl; const void* msg idiomatic,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,639,FP,integer size comparison (MAX_MESSAGE_SIZE - sizeof(header)) < msg_len; no pointer scaling,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smb.c,663,FP,meta_get returns originally smb_conn-allocated block; alignment preserved,curl_full_audit_0.4.35,med
DCL22-C,curl,lib/smb.c,665,FP,"p is normal local pointer into msg.bytes; no volatile needed, no signal/setjmp",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smb.c,665,FP,p = msg.bytes takes address of stack array; msg need not be initialized to take member address,curl_full_audit_0.4.35,high
INT32-C,curl,lib/smb.c,686,FP,sizeof(msg)-sizeof(msg.bytes) is positive compile-time constant; cannot overflow,curl_full_audit_0.4.35,high
STR30-C,curl,lib/smb.c,694,FP,"msg.lengths[0]=... writes a struct array member, not a string literal",curl_full_audit_0.4.35,high
STR30-C,curl,lib/smb.c,695,FP,"msg.lengths[1] assignment to struct member, not string literal",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/smb.c,696,FP,"memcpy(p,lm,sizeof(lm)); p is char*, no const cast away",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,697,FP,"p += sizeof(lm) advances char* by byte count of lm[24]; correct, not double scaling",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/smb.c,698,FP,"memcpy(p,nt,...); no const qualifier cast away",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,699,FP,p += sizeof(nt) advances char* by byte count; correct pointer arithmetic,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,700,FP,p += msnprintf return (bytes written) on char*; not sizeof scaling,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/smb.c,700,FP,curl_msnprintf cannot fail here (buffer pre-validated > byte_count); return is byte count,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/smb.c,720,FP,p = msg.bytes takes address of stack member; msg zeroed at 727 before content use,curl_full_audit_0.4.35,high
INT32-C,curl,lib/smb.c,727,FP,sizeof(msg)-sizeof(msg.bytes) compile-time positive constant,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/smb.c,732,FP,"curl_msnprintf into validated buffer; return is byte count, not error-prone here",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/smb.c,752,FP,msg is stack struct; byte_count from req->path; msg zeroed at 755 before use,curl_full_audit_0.4.35,high
INT32-C,curl,lib/smb.c,755,FP,sizeof(msg)-sizeof(msg.bytes) compile-time positive constant,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,841,FP,"sizeof(*msg)-sizeof(msg->h)+upload_size is size_t length arg, not pointer scaling",curl_full_audit_0.4.35,high
INT30-C,curl,lib/smb.c,864,FP,"upload_size -= nread; nread capped at min(upload_size,MAX) so no underflow",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smb.c,887,FP,meta_get returns originally smb_request-allocated block; alignment preserved,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/smb.c,901,FP,result assigned at 900 by Curl_conn_connect before use at 901 within same branch,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smb.c,931,FP,sizeof(*nrsp) does not dereference nrsp; nrsp assigned at 936 before actual deref,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/smb.c,956,FP,no unreachable code; switch cases with break are normal control flow,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smb.c,1002,FP,meta_get returns originally smb_request-allocated block; alignment preserved,curl_full_audit_0.4.35,med
ARR39-C,curl,lib/smb.c,1091,FP,(unsigned char*)msg + sizeof(header) + 11 is correct byte offset into received buffer,curl_full_audit_0.4.35,high
INT30-C,curl,lib/smb.c,1091,FP,constant small offset added to valid heap pointer; cannot wrap,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,1093,FP,byte offset into received buffer; correct char pointer arithmetic,curl_full_audit_0.4.35,high
INT30-C,curl,lib/smb.c,1093,FP,constant small offset on valid pointer; no wrap,curl_full_audit_0.4.35,high
INT08-C,curl,lib/smb.c,1096,FP,off+sizeof(uint)+len computed in size_t (sizeof promotes); bounds-checked vs smbc->got,curl_full_audit_0.4.35,med
ARR39-C,curl,lib/smb.c,1102,FP,"(char*)msg + off + sizeof(uint) byte offset, bounds-checked at 1096; correct",curl_full_audit_0.4.35,high
INT08-C,curl,lib/smb.c,1102,FP,"off arithmetic in size_t, validated against got at 1096 before use",curl_full_audit_0.4.35,med
INT30-C,curl,lib/smb.c,1102,FP,"bounded offset on valid pointer; guarded by 1096 check, no wrap",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/smb.c,1120,FP,byte offset into received buffer with constant +5; correct char* arithmetic,curl_full_audit_0.4.35,high
INT30-C,curl,lib/smb.c,1120,FP,constant small offset on valid pointer; no wrap,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/smb.c,1149,FP,"'result' is CURLcode from smb_send_open, not a file descriptor; no open() call",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smb.c,1193,FP,"smb_do matches do_it vtable signature; data used to fetch conn/meta, const not addable",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/smb.c,1234,FP,Curl_scheme_smb has external linkage by design; referenced from scheme table in other TUs,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/smb.c,1234,FP,exported scheme descriptor must be file-scope/external; cannot be narrowed,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/smb.c,1250,FP,Curl_scheme_smbs exported by design; external linkage required,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/smb.c,1250,FP,exported scheme descriptor must remain file-scope/external,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,94,FP,Conformant-array-syntax style advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mqtt.c,94,FP,'key' param fixed by Curl_meta_dtor function-pointer typedef; const impossible.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,94,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,104,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mqtt.c,104,FP,'key' param fixed by dtor typedef; unused anyway.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,104,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,118,FP,'mqtt' assigned by calloc on same line; the deref is the assignment use.,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/mqtt.c,125,FP,mqtt already owned by conn meta (dtor); meta_set frees on failure. No leak.,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/mqtt.c,129,FP,mq/mqtt are meta-managed; Curl_meta_set frees via dtor on failure.,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/mqtt.c,130,FP,Success path: ownership transferred to easy/conn meta. No leak.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,134,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,138,FP,"Curl_meta_get returns void*, not char*; heap calloc is suitably aligned.",curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,172,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,189,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,190,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,201,FP,'start' is internally computed offset into correctly sized calloc buffer.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/mqtt.c,203,FP,memcpy dest &pkt[start+2]; pkt is non-const char*. No cast away const.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,208,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,209,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,219,FP,'start' internally computed offset into sized buffer.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/mqtt.c,221,FP,pkt non-const; no const cast-away in memcpy dest.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,226,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,227,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,231,FP,'start' internally computed; buffer sized to fit client id.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/mqtt.c,233,FP,pkt non-const; no const cast-away.,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/mqtt.c,244,FP,memcpy remain_pos<=4 into packet[1..]; sized via packetlen. In bounds.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,250,FP,Wrong buffer attribution: conflated with packet[2] at line814; here sized packetlen.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,252,FP,Misattributed buffer size 2; packet is calloc(packetlen).,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,253,FP,Misattributed buffer size 2; packet sized to fit header.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,254,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,255,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,257,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,259,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,261,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,262,FP,Misattributed buffer size 2.,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/mqtt.c,278,FP,client_id is modified by Curl_rand_alnum write; cannot be const.,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/mqtt.c,278,FP,"MQTT_CLIENTID_LEN is #define constant; fixed-size array, not VLA.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mqtt.c,284,FP,Line is strlen(username); no char-to-int conversion present.,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/mqtt.c,286,FP,"'passwd' is const char* alias of aptr.passwd, not a clearable local buffer.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mqtt.c,287,FP,Line is strlen(passwd); no signed-char widening.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mqtt.c,354,FP,Curl_safefree nulls then frees aptr.user once; not a UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mqtt.c,354,FP,safefree of distinct member; no use after free.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mqtt.c,355,FP,"safefree of aptr.passwd, distinct member; not UAF.",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mqtt.c,355,FP,safefree nulls arg; no double-free or UAF.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,366,FP,void* meta_get assigned to struct*; heap alloc aligned.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,391,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,404,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mqtt.c,426,FP,ptr=dyn_ptr after DEBUGASSERT/recv_atleast guaranteeing >=CONNACK_LEN; non-NULL.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,437,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
DCL22-C,curl,lib/mqtt.c,459,FP,No setjmp/longjmp context; volatile not required.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,475,FP,topiclen set via &topiclen out-param of mqtt_get_topic before use.,curl_full_audit_0.4.35,high
INT14-C,curl,lib/mqtt.c,475,FP,Readability advisory on length shift; benign.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,477,FP,encodedsize is char[4] written by mqtt_encode_len; not read uninit.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/mqtt.c,487,FP,'n' is size_t arg to memcpy; no const cast-away.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,489,FP,Misattributed size-2 buffer; packet is malloc(packetlen).,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,490,FP,Misattributed size-2 buffer; packet sized packetlen.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,491,FP,Misattributed size-2 buffer.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/mqtt.c,492,FP,&packet[5+n] memcpy dest; packet non-const. No cast-away.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mqtt.c,492,FP,Misattributed size-2 buffer; packet sized topiclen+5+n+1.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mqtt.c,492,FP,topic non-NULL when result==0 from mqtt_get_topic (urldecode succeeded).,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/mqtt.c,506,FP,All paths set result and reach 'fail: return result'.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,508,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mqtt.c,532,FP,ptr=dyn_ptr after recv_atleast/DEBUGASSERT >= SUBACK_LEN; non-NULL.,curl_full_audit_0.4.35,high
DCL22-C,curl,lib/mqtt.c,554,FP,No setjmp context; volatile unnecessary for 'i'.,curl_full_audit_0.4.35,high
INT14-C,curl,lib/mqtt.c,574,FP,Readability advisory on topiclen shift; benign.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,574,FP,topiclen set by mqtt_get_topic out-param before use.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/mqtt.c,594,FP,topic non-NULL when mqtt_get_topic returned success.,curl_full_audit_0.4.35,med
ARR38-C,curl,lib/mqtt.c,596,FP,pkt sized remaininglength+1+encodelen >= payloadlen offset; memcpy in bounds.,curl_full_audit_0.4.35,high
API05-C,curl,lib/mqtt.c,607,FP,Conformant-array-syntax style advisory.,curl_full_audit_0.4.35,high
INT14-C,curl,lib/mqtt.c,615,FP,Readability advisory on decode bitwise/arith; benign.,curl_full_audit_0.4.35,high
INT08-C,curl,lib/mqtt.c,619,FP,(encoded&127)*mult promoted to size_t; bounded by MQTT 4-byte cap. No overflow.,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/mqtt.c,628,FP,statenames[] initializer-sized array (debug only); idiomatic.,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/mqtt.c,662,FP,Switch has default; all paths reach 'end: return result'.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,669,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
DCL41-C,curl,lib/mqtt.c,677,FP,Intentional goto-label before first case (legal C); not a stray statement.,curl_full_audit_0.4.35,med
MEM05-C,curl,lib/mqtt.c,722,FP,"buffer[4*1024] is constant-sized array, not VLA.",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,733,FP,nread is out-param of Curl_xfer_recv; set before read (error returns first).,curl_full_audit_0.4.35,high
INT30-C,curl,lib/mqtt.c,747,FP,nread<=rest<=npacket (recv capped to mq->npacket); subtraction cannot underflow.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,764,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,785,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,798,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/mqtt.c,829,FP,void* meta_get to struct*; aligned heap.,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/mqtt.c,842,FP,dyn_ptr and dyn_len are pure reads of same buffer; no unsequenced side effects.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mqtt.c,877,FP,nread out-param of Curl_xfer_recv; loop breaks before use on error.,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mqtt.c,1015,FP,"Curl_scheme_mqtts is exported, referenced in scheme table elsewhere; needs extern linkage.",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mqtt.c,1015,FP,Exported scheme symbol; cannot be function-local.,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mqtt.c,1032,FP,Curl_scheme_mqtt exported symbol; needs external linkage.,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mqtt.c,1032,FP,Exported scheme symbol; cannot be function-local.,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,32,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,32,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,32,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,33,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,33,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_libinfo.c,33,FP,"Pointer (const char*) assignment, not a signed-char read; no sign extension",curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,35,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,35,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,35,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,37,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,37,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,38,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,38,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,39,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,39,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,40,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,40,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,41,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,41,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,42,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,42,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,43,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,43,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,44,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,44,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,45,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,45,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_libinfo.c,54,FP,"NULL-terminated table initializer; idiomatic, size inferred correctly",curl_full_audit_0.4.35,med
CON03-C,curl,src/tool_libinfo.c,67,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,67,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,67,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,68,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,68,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,68,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,69,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,69,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,69,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,70,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,70,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,70,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,71,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,71,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,71,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,72,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,72,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,72,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,73,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,73,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,73,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,74,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,74,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,74,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,75,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,75,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,75,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,76,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,76,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,76,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,77,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,77,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,77,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,78,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,78,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,78,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,79,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,79,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,79,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,80,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,80,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,80,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,81,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,81,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,81,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_libinfo.c,82,FP,"CLI startup module, single-threaded init; globals not thread-shared",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,82,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,82,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_libinfo.c,88,FP,"NULL-terminated table initializer; idiomatic, size inferred correctly",curl_full_audit_0.4.35,med
MEM05-C,curl,src/tool_libinfo.c,123,FP,"fnames sized by CURL_ARRAYSIZE compile-time constant, not a VLA",curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_libinfo.c,124,FP,Declared extern in tool_libinfo.h; intentional external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,src/tool_libinfo.c,124,FP,Program-wide global used by proto_token and tool; cannot narrow scope,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_libinfo.c,136,FP,get_libcurl_info runs once at single-threaded startup; no concurrency,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_libinfo.c,155,FP,Plain pointer assignment (*tokenp = *builtin); no flexible array member,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_libinfo.c,155,FP,"Pointer (const char*) assignment, not a signed-char read; no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_libinfo.c,155,FP,"Pointer (const char*) assignment, not a signed-char read; no sign extension",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_libinfo.c,165,FP,p assigned in for-init (p=maybe_feature) before any use; not uninitialized,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_libinfo.c,170,FP,"Pointer (const char*) assignment, not a signed-char read; no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_libinfo.c,171,FP,"Pointer (const char*) assignment, not a signed-char read; no sign extension",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_libinfo.c,188,FP,Idiomatic !strncmp boolean test for feature detection,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,73,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,75,FP,conformant-array advisory; curl convention does not use it,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,77,FP,strlen(hostname) takes const char*; no signed-char promotion bug,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cookie.c,106,FP,pathmatch always returns via ret; all paths covered,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,161,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,190,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cookie.c,193,FP,h is mutated in loop (h += h<<5; h^=j); not const-able,curl_full_audit_0.4.35,med
STR34-C,curl,lib/cookie.c,196,FP,"Curl_raw_toupper(*domain) handles char; idiomatic, no sign bug",curl_full_audit_0.4.35,med
STR34-C,curl,lib/cookie.c,196,FP,same Curl_raw_toupper call; macro handles signedness,curl_full_audit_0.4.35,med
INT14-C,curl,lib/cookie.c,197,FP,DJB2 hash; bitwise+arithmetic on h is intentional idiom,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cookie.c,220,FP,len filled by get_top_domain via &len (init 0 in callee),curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,226,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cookie.c,229,FP,len guarded (len &&) before cookie_path[0] deref; caller passes valid,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,259,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,259,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,266,FP,curlx_memdup0 takes void*/char*; no signed-char widening,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cookie.c,284,FP,"time(NULL) for cookie expiry; (time_t)-1 harmless, not security-relevant",curl_full_audit_0.4.35,med
DCL00-C,curl,lib/cookie.c,303,FP,e reassigned in loop (e=Curl_node_next); cannot be const,curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,327,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,335,FP,dot-domain is pointer subtraction (dot-domain); no char widening,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,335,FP,"pointer arithmetic on domain, not signed-char conversion",curl_full_audit_0.4.35,high
API05-C,curl,lib/cookie.c,354,FP,conformant-array advisory; curl convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,385,FP,curlx_str/curlx_strlen are pure accessors; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,388,FP,pure accessor args; no shared mutation,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,413,FP,pure accessor args; no shared mutation,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cookie.c,430,FP,co written via storecookie (co->name etc); not const-able,curl_full_audit_0.4.35,med
STR34-C,curl,lib/cookie.c,442,FP,strlen(ptr) on const char*; no signed-char widening,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,473,FP,"invalid_octets reads only; pure accessor args, no unsequenced UB",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,474,FP,pure accessor args; no shared mutation,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,488,FP,infof variadic args are pure curlx_strlen reads,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,495,FP,memchr/curlx_str/curlx_strlen pure reads; no UB,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,501,FP,!strncmp prefix idiom; conventional and clear,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,503,FP,!strncmp prefix idiom; conventional,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,550,FP,bad_domain reads only; pure accessor args,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,558,FP,!strncmp comparison idiom; clear,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,558,FP,strncmp args are pure reads; no unsequenced mutation,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,560,FP,cookie_tailmatch pure-read args; no UB,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cookie.c,593,FP,"time(NULL) for cookie max-age base; -1 harmless, not security path",curl_full_audit_0.4.35,med
ENV01-C,curl,lib/cookie.c,623,FP,dbuf sized to MAX_DATE_LENGTH; val len guarded <MAX_DATE_LENGTH at 616; no env var,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/cookie.c,623,FP,"dbuf is fixed-size [MAX_DATE_LENGTH+1], not a VLA",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cookie.c,625,FP,memcpy args pure reads (curlx_str/curlx_strlen),curl_full_audit_0.4.35,high
ERR33-C,curl,lib/cookie.c,635,FP,"time(NULL) expiry base; -1 harmless, not checked-return-critical",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cookie.c,651,FP,"ci->running read; co written through; parse_netscape mutates co not ci, but signature shared",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cookie.c,775,FP,"co read for PSL; tied to caller pattern, low value; not actionable",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/cookie.c,790,FP,domain guarded non-NULL at 786 (domain && ...) before strlen,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,790,FP,strlen(domain) on const char*; no signed-char widening,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,834,FP,!strcmp name-equality idiom; conventional,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,875,FP,!strcmp name-equality idiom; conventional,curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,934,FP,ci always non-NULL (DEBUGASSERT data; caller inits ci); internal API,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/cookie.c,959,FP,sizeof(comem) misparsed as cast; memset has no const cast-away,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/cookie.c,979,FP,intentional empty-then/else-goto idiom for __Host- validation; commented logic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,979,FP,"!strcmp path==""/"" idiom; conventional",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/cookie.c,1042,FP,fail: label reached via goto; not unreachable,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,1104,FP,"!strcmp(file,""-"") stdin idiom; conventional",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cookie.c,1107,FP,fp assigned to handle; handle closed via curlx_fclose at 1146,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cookie.c,1107,FP,fopen not open(); duplicate; handle closed at 1146,curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,1234,FP,"conn->scheme deref; internal fn, conn guaranteed by callers; idiomatic",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cookie.c,1234,TP,conn only read (conn->scheme->protocol); could be const struct connectdata*,curl_full_audit_0.4.35,low
EXP20-C,curl,lib/cookie.c,1238,FP,!strcmp host loopback idiom; conventional,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,1239,FP,"!strcmp host ""::1"" idiom; conventional",curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,1253,FP,data deref internal; callers guarantee non-NULL; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,1253,FP,conn passed to Curl_secure_context; caller-guaranteed; internal,curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,1253,FP,host used by cookiehash which NULL-checks; internal API,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cookie.c,1261,FP,cookiehash(host) on const char*; no signed-char widening,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/cookie.c,1350,FP,fail: label reached via goto fail at 1327; not unreachable,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cookie.c,1368,FP,"c is a pointer used as element handle; const adds no value, sqc misreads",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cookie.c,1369,FP,e reassigned (n=e) in loop; not const-able,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cookie.c,1393,FP,e reassigned (n=e) in loop; not const-able,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/cookie.c,1477,FP,"!strcmp(""-"",filename) stdout idiom; conventional",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cookie.c,1483,FP,out closed via curlx_fclose at 1532 and in error block at 1550,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/cookie.c,1483,FP,Curl_fopen not open(); duplicate; out closed on all paths,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/cookie.c,1488,FP,"adjacent string-literal concatenation, no preprocessor directive in args",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/cookie.c,1488,FP,string concatenation misread as directive; no UB,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cookie.c,1491,FP,out is stdout or Curl_fopen result checked (error goto) before fputs,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cookie.c,1528,FP,1520 free is followed by goto error skipping 1528; no double free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cookie.c,1528,FP,distinct paths; 1520 goto error bypasses 1528 normal free,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/cookie.c,1546,FP,"success path; tempstore freed at 1545, array already freed; no leak",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/cookie.c,1548,FP,error: label reached via goto error; not unreachable,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cookie.c,1552,FP,unlink(tempstore) before free; tempstore not yet freed; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cookie.c,1553,FP,single free of tempstore in error block; no double free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cookie.c,1553,FP,single free in error path; success path frees at 1545; mutually exclusive,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/cookie.c,1555,FP,error path frees tempstore+array; out closed at 1550; no leak,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/cookie.c,1574,FP,"c is element-handle pointer used for fields; sqc misread, not const-worthy",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cookie.c,1575,FP,line assigned at 1578 before use at 1579; not uninitialized,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cookie.c,1602,FP,"returns pointer VALUE list (heap slist), not address of local",curl_full_audit_0.4.35,high
API00-C,curl,lib/cookie.c,1630,FP,"data deref under lock; internal fn, caller-guaranteed non-NULL",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,67,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,76,FP,data only passed to Curl_pgrs_now; internal caller always provides valid data,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/vquic/vquic.c,88,FP,getenv return p IS checked: if(p) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/vquic/vquic.c,88,FP,DEBUGBUILD-only one-shot init; not a real threading hazard,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/vquic/vquic.c,91,FP,"curlx_str_number advances a const-ptr copy, does not modify env string",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,106,FP,internal setter; pnow always valid from Curl_pgrs_now,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,112,FP,internal setter; pnow always valid,curl_full_audit_0.4.35,high
API02-C,curl,lib/vquic/vquic.c,118,FP,pkt already has explicit pktlen size param; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,121,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/vquic/vquic.c,124,FP,"bounded one-level fallback no-GSO retry, not unbounded recursion",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vquic/vquic.c,124,FP,all paths reach out: return result; both ifdef arms return,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,127,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL39-C,curl,lib/vquic/vquic.c,162,FP,"sendmsg is kernel syscall, not a curl trust-boundary leak; struct msghdr standard",curl_full_audit_0.4.35,med
MSC07-C,curl,lib/vquic/vquic.c,172,FP,"case label after return is reachable via switch, not dead code",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/vquic/vquic.c,236,FP,bounded one-level GSO-failure fallback; terminates,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,239,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vquic/vquic.c,245,FP,"VERBOSE(size_t calls=0) macro expansion; type present, sqc cannot expand",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/vquic.c,254,FP,sent written by do_sendmsg(*psent=0) on every path before read at 254,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,267,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,297,FP,cf deref via internal callers always valid; cfilter pattern,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/vquic.c,316,FP,sent set to 0 in do_sendmsg before CURLE_AGAIN return; always written,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,329,FP,thin wrapper to vquic_flush; internal cfilter caller valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,329,FP,data not dereffed here; passed through to flush,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,336,FP,internal cfilter caller always provides cf,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,336,FP,data passed through to flush; internal valid,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,336,FP,tail_len is a length subtracted from bufq_len guarded by DEBUGASSERT; no overflow,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vquic/vquic.c,352,FP,gso_size is reassigned via memcpy in loop; not const-able,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/vquic.c,382,FP,"qctx->sockfd read but struct mutated elsewhere; signature shared, callback family",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,384,FP,recv_cb is function pointer typedef; const not applicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,384,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vquic/vquic.c,396,FP,size bounded by MMSG_NUM*CMSG_SPACE macro constants; small fixed stack,curl_full_audit_0.4.35,med
ARR32-C,curl,lib/vquic/vquic.c,396,FP,size is macro-constant bounded (16/64 * small); not runtime-attacker-controlled,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/vquic/vquic.c,418,FP,"msg_iov[i] is being WRITTEN here, not read",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vquic/vquic.c,420,FP,mmsg memset at 416 then fields written; not uninitialized read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/vquic.c,420,FP,msg_iov[i] assigned at 418 before address-taken at 420,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vquic/vquic.c,422,FP,"remote_addr[i] address taken to fill via recvmmsg; out-param, write not read",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/vquic.c,422,FP,remote_addr filled by recvmmsg kernel; out-param,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vquic/vquic.c,423,FP,"sizeof(remote_addr[i]) only reads size, not contents",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vquic/vquic.c,424,FP,msg_ctrl address taken as out-buffer for recvmmsg; write not read,curl_full_audit_0.4.35,high
INT18-C,curl,lib/vquic/vquic.c,428,FP,"mcount is int (signed); comparison to -1 is correct, not unsigned",curl_full_audit_0.4.35,high
INT18-C,curl,lib/vquic/vquic.c,431,FP,mcount is signed int; ==-1 valid,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/vquic/vquic.c,467,FP,"integer division on size_t, not floating-point",curl_full_audit_0.4.35,high
INT33-C,curl,lib/vquic/vquic.c,467,FP,gso_size forced nonzero at 459-460 (=msg_len>0 guaranteed by 454 continue),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,482,FP,qctx struct accessed/mutated; shared recv signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,484,FP,recv_cb is function pointer; const N/A,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,484,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vquic/vquic.c,488,FP,"buf[64*1024] is fixed-size array, not a VLA",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vquic/vquic.c,495,FP,"msg_ctrl[CMSG_SPACE(sizeof(int))] macro-constant size, not runtime VLA",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/vquic.c,562,FP,qctx accessed via shared recv signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,564,FP,recv_cb function pointer; const N/A,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,564,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vquic/vquic.c,566,FP,"buf[64*1024] fixed-size array, not VLA",curl_full_audit_0.4.35,high
INT18-C,curl,lib/vquic/vquic.c,577,FP,rv is ssize_t (signed); ==-1 comparison correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,624,FP,"thin dispatch wrapper; data passed through, valid from caller",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,624,FP,recv_cb passed through to impl; not dereffed here,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,628,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,656,FP,data->set.new_file_perms used but caller always valid; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,656,FP,scid read in loop guarded by scidlen; caller provides valid scid,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/vquic.c,656,FP,data->set.new_file_perms read; data not const-able (struct fields read),curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,657,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,657,TP,scid only read (scid[i]); could be const unsigned char*; minor,curl_full_audit_0.4.35,low
API05-C,curl,lib/vquic/vquic.c,659,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vquic/vquic.c,680,FP,"qlogfd intentionally returned via *qlogfdp; not leaked, caller owns fd",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/vquic/vquic.c,691,FP,qlog_dir from curl_getenv is heap copy; curlx_free is correct,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,699,FP,dispatch wrapper; pcf passed through to impl,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,699,FP,data passed through; not dereffed in wrapper,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,699,FP,conn passed through to impl,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,699,FP,ai passed through to impl,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vquic/vquic.c,699,FP,every #if/#elif/#else arm returns; sqc not expanding preprocessor,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,747,FP,error_code compared to bounds; switch on it; no unguarded arithmetic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,798,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,798,FP,ngtcp2_mem allocator signature fixed by external typedef; const N/A,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,804,FP,ngtcp2 free callback signature fixed by typedef; const N/A,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,810,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,810,FP,calloc callback signature fixed by ngtcp2 typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,816,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/vquic.c,816,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/vquic.c,816,FP,realloc callback signature fixed by ngtcp2 typedef,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vquic/vquic.c,823,FP,vquic_ngtcp2_mem is immutable static allocator table; read-only after init,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vquic/vquic.c,837,FP,vquic_nghttp3_mem is immutable static allocator table,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/vquic.c,854,FP,"stub impl; data only used in DEBUGF infof, all params (void)-cast",curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_getparam.c,31,FP,8-char header-name collision advisory; modern fs,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_getparam.c,34,FP,8-char header-name collision advisory; modern fs,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,47,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,48,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,54,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,54,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getparam.c,61,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getparam.c,61,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,65,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,66,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,72,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.c,80,FP,initializer-sized const table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,387,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,392,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,393,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,405,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,405,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,411,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_getparam.c,417,FP,"out-param assigned heap/strdup ptr (getstr), not local addr",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,417,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_getparam.c,419,FP,NUL-terminated string walk; bounded by '\0',curl_full_audit_0.4.35,high
EXP43-C,curl,src/tool_getparam.c,421,FP,memcpy src/dst from distinct buffers (param vs malloc); non-overlapping,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_getparam.c,426,FP,single-threaded CLI parse; switch on *ptr not concurrent double-fetch,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_getparam.c,431,FP,single-threaded CLI parse; switch on *ptr not concurrent double-fetch,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,433,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,436,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,440,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,444,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
MEM33-C,curl,src/tool_getparam.c,445,FP,"plain char writes via pointer, not flexible-array-struct assign",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,445,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,445,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,445,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,464,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,473,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,473,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,485,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,492,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,525,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_getparam.c,526,FP,"out-param assigned heap/strdup ptr (getstr), not local addr",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,526,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,528,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_getparam.c,529,FP,"out-param assigned heap/strdup ptr (getstr), not local addr",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,529,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.c,543,FP,initializer-sized const table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
STR00-C,curl,src/tool_getparam.c,553,FP,char masked with 0x20 for case-fold; idiomatic,curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_getparam.c,583,FP,plain char in numeric op; idiomatic ASCII handling,curl_full_audit_0.4.35,high
INT14-C,curl,src/tool_getparam.c,583,FP,bit/arith mix on size unit char; readability advisory,curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_getparam.c,588,FP,plain char in numeric op; idiomatic ASCII handling,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_getparam.c,612,FP,"'mul' init=1, only set to nonzero su->mul; never zero",curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_getparam.c,618,FP,"'mul' init=1, only set to nonzero su->mul; never zero",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,632,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
MSC37-C,curl,src/tool_getparam.c,644,FP,switch covers all enum cases / returns in all arms,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getparam.c,644,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getparam.c,645,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,665,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,665,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_getparam.c,670,FP,plain char in numeric op; idiomatic ASCII handling,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,676,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,681,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,681,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,699,FP,postdata non-NULL after !p guard / alloc-then-use; safe,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,705,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
INT31-C,curl,src/tool_getparam.c,711,FP,"(int)size from escaped len, bounded MAX_DATAURLENCODE",curl_full_audit_0.4.35,med
DCL30-C,curl,src/tool_getparam.c,738,FP,"out-param assigned heap/strdup ptr (getstr), not local addr",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,738,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
MSC07-C,curl,src/tool_getparam.c,741,FP,defensive break/return after switch arm; harmless,curl_full_audit_0.4.35,med
MSC37-C,curl,src/tool_getparam.c,754,FP,switch covers all enum cases / returns in all arms,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_getparam.c,760,FP,NUL-terminated string walk; bounded by '\0',curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_getparam.c,769,FP,single-threaded CLI parse; switch on *ptr not concurrent double-fetch,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_getparam.c,830,FP,"fixed-size stack array, not a VLA",curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_getparam.c,831,FP,singles_done static in single-threaded CLI init,curl_full_audit_0.4.35,high
INT08-C,curl,src/tool_getparam.c,840,FP,"'l' is alias-table index byte, bounded; no overflow",curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_getparam.c,845,FP,plain char in numeric op; idiomatic ASCII handling,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.c,853,FP,initializer-sized const table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,906,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,916,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,920,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,949,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,955,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,955,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,980,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_getparam.c,1037,FP,single-threaded CLI parse; switch on *ptr not concurrent double-fetch,curl_full_audit_0.4.35,high
EXP15-C,curl,src/tool_getparam.c,1065,FP,intentional empty if(err); arm of if/else chain in set_rate,curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_getparam.c,1081,FP,"CURL_ARRAYSIZE on real array in scope, not decayed param",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,1136,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1142,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1142,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,1249,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1253,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1253,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,1266,FP,tmpcfg guarded: file2string err returns before use,curl_full_audit_0.4.35,med
DCL31-C,curl,src/tool_getparam.c,1267,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,1288,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1289,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,1451,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,1452,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1453,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_getparam.c,1458,FP,NUL-terminated string walk; bounded by '\0',curl_full_audit_0.4.35,high
STR30-C,curl,src/tool_getparam.c,1521,FP,set_trace_config takes const char*; literal not modified,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_getparam.c,1526,FP,verbose_nopts file-static zero-init by C rules,curl_full_audit_0.4.35,high
STR30-C,curl,src/tool_getparam.c,1529,FP,set_trace_config takes const char*; literal not modified,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,1536,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,1537,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1538,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1541,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1541,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
STR30-C,curl,src/tool_getparam.c,1548,FP,set_trace_config takes const char*; literal not modified,curl_full_audit_0.4.35,high
STR30-C,curl,src/tool_getparam.c,1554,FP,set_trace_config takes const char*; literal not modified,curl_full_audit_0.4.35,high
STR30-C,curl,src/tool_getparam.c,1559,FP,set_trace_config takes const char*; literal not modified,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,1581,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1587,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getparam.c,1587,FP,FILE* closed via curlx_fclose guarded by file!=stdin,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1594,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,1599,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_getparam.c,1613,FP,single-threaded CLI parse; switch on *ptr not concurrent double-fetch,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,1636,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_getparam.c,1639,FP,value set by getfiletime before use under !rc,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.c,1657,FP,initializer-sized const table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_getparam.c,1671,FP,NUL-terminated string walk; bounded by '\0',curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,1688,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,1725,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,1745,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,1825,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,2214,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
MSC04-C,curl,src/tool_getparam.c,2221,FP,config-file recursion bounded by max_recursive counter,curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_getparam.c,2231,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_getparam.c,2349,FP,initializer-sized const table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,2359,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2387,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2395,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2402,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2415,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
DCL18-C,curl,src/tool_getparam.c,2415,FP,0777 intentional octal file mode,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2420,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2421,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2426,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2431,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2435,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2438,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2451,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2455,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2459,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2463,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_getparam.c,2472,FP,"CURL_ARRAYSIZE on real array in scope, not decayed param",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2476,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2480,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2483,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2486,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2489,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2492,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2501,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MSC07-C,curl,src/tool_getparam.c,2511,FP,defensive break/return after switch arm; harmless,curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_getparam.c,2512,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2515,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2519,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2523,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2527,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2530,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2534,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2538,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2542,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2546,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2552,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2555,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2558,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2561,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2564,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2566,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2569,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2572,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2575,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2576,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2576,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2582,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2594,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2597,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2600,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2606,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2612,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2617,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2622,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2626,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,2643,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,2645,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2655,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2661,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2664,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2667,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2670,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2672,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,2672,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2672,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2680,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2683,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2685,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2685,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2693,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2699,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2705,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2711,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2712,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2712,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2717,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2720,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2726,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2732,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2738,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2739,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2740,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2745,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2748,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2751,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2754,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2757,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2760,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2763,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2769,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2769,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2772,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2776,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2784,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2787,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2795,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2809,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2813,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2817,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2823,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2827,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2828,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2833,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2837,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2838,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2843,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_getparam.c,2844,FP,"getstr/numeric-setter into &config->member: free-then-strdup reassign, not UAF",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_getparam.c,2851,FP,init via macro/branch sqc cannot connect,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_getparam.c,2888,FP,internal dispatcher; NULL/overflow handled by design,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_getparam.c,2888,FP,internal dispatcher; NULL/overflow handled by design,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_getparam.c,2888,FP,verbose_nopts single-threaded parse-time static,curl_full_audit_0.4.35,high
MSC04-C,curl,src/tool_getparam.c,2888,FP,config-file recursion bounded by max_recursive counter,curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_getparam.c,2908,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_getparam.c,2910,FP,flag is string ptr with >=2 chars guaranteed by flag[1] check,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,2916,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,2922,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
ENV01-C,curl,src/tool_getparam.c,2933,FP,tempword fixed 27-byte buffer bounded by MAX_OPTION_LEN,curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_getparam.c,2933,FP,"fixed-size stack array, not a VLA",curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_getparam.c,2934,FP,memcpy args are read-only accessors; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_getparam.c,2984,FP,'a' NULL-checked at dispatch (2943/2985) before deref,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,2998,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_getparam.c,2998,FP,plain char read/copy or char** deref; idiomatic sign-extension noise,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_getparam.c,3048,FP,curlx_free/strdup/malloc declared via included curlx headers,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_getparam.c,3052,FP,internal dispatcher; NULL/overflow handled by design,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_getparam.c,3052,FP,argv is standard main-signature array; const not idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_getparam.c,3068,FP,idiomatic !strcmp boolean test in option dispatch,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_getparam.c,3094,FP,"config->next linked into global config chain, freed by cleanup",curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_getparam.c,3148,FP,"config->next linked into global config chain, freed by cleanup",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,133,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sha512_256.c,133,FP,HMAC vtable callback signature fixed by function-pointer typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,134,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curl_sha512_256.c,162,FP,"size is compile-time macro constant, not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_sha512_256.c,165,FP,ret assigned at lines 163-164 before the if at 165,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,214,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,215,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/curl_sha512_256.c,222,FP,"uint8_t alignment is 1 not 4; byte read, no alignment issue",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_sha512_256.c,277,FP,"crypto load macro; side-effect-free ptr args, idiomatic",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,277,FP,multiple-eval only matters with side-effecting args; not here,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,287,FP,"crypto store macro; side-effect-free args, idiomatic",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,287,FP,args are plain pointer/value with no side effects,curl_full_audit_0.4.35,med
INT14-C,curl,lib/curl_sha512_256.c,304,FP,stylistic bitwise/arith mix advisory on unsigned rotate,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_sha512_256.c,308,FP,value is uint64_t (unsigned); shift not signed,curl_full_audit_0.4.35,high
INT34-C,curl,lib/curl_sha512_256.c,308,FP,bits%=64 and bits!=0 guard make shift amount 1..63,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_sha512_256.c,308,FP,"'value' is uint64_t, not a FILE stream; bogus",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_sha512_256.c,308,FP,"'value' is uint64_t, not a FILE stream; bogus",curl_full_audit_0.4.35,high
INT34-C,curl,lib/curl_sha512_256.c,308,FP,64-bits is 1..63 given bits guarded to 1..63,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,430,FP,"H size is compile-time macro constant, not runtime param",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,436,FP,H is uint64_t[8] param; valid indices 0-7 not 0-0,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_sha512_256.c,437,FP,c is SHA working var modified via SHA2STEP64RV macro,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,437,FP,H is uint64_t[8]; index 2 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,438,FP,H is uint64_t[8]; index 3 in bounds,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_sha512_256.c,439,FP,e modified via macro; sqc cannot see through SHA2STEP64RV,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,439,FP,H is uint64_t[8]; index 4 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,440,FP,H is uint64_t[8]; index 5 in bounds,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_sha512_256.c,441,FP,g modified via macro rotation; not const-eligible,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,441,FP,H is uint64_t[8]; index 6 in bounds,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_sha512_256.c,442,FP,h modified via macro rotation; not const-eligible,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,442,FP,H is uint64_t[8]; index 7 in bounds,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_sha512_256.c,450,FP,Ch macro; side-effect-free working-var args,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,450,FP,args are plain locals; multiple-eval harmless,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,451,FP,Maj macro; side-effect-free args,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,451,FP,args are plain locals; no side effects,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,455,FP,SIG0 macro; side-effect-free arg,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,455,FP,arg is plain local; multiple-eval harmless,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,457,FP,SIG1 macro; side-effect-free arg,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,457,FP,arg is plain local; no side effects,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,459,FP,sig0 macro; side-effect-free arg,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,459,FP,arg is plain local; multiple-eval harmless,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,461,FP,sig1 macro; side-effect-free arg,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,461,FP,arg is plain local; no side effects,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,521,FP,SHA2STEP64 macro; side-effect-free working-var args,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,521,FP,args are plain locals; documented deliberate macro,curl_full_audit_0.4.35,med
PRE00-C,curl,lib/curl_sha512_256.c,530,FP,SHA2STEP64RV macro; side-effect-free args,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,530,FP,args plain locals; rotation macro intentional,curl_full_audit_0.4.35,med
PRE02-C,curl,lib/curl_sha512_256.c,548,FP,expands to fully-parenthesized CURL_GET_64BIT_BE(...) expression,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/curl_sha512_256.c,548,FP,"t is loop var, initialized in for-init at line 554",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,554,FP,t initialized by for(t=0;...) at this line; not uninitialized,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_sha512_256.c,564,FP,"Wgen macro; w arg is plain array, side-effect-free",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_sha512_256.c,564,FP,arg is W array name; multiple-eval harmless,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/curl_sha512_256.c,573,FP,"t & 15 is 0-15; W has 16 elements, always in bounds",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,579,FP,H is uint64_t[8]; index 0 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,580,FP,H is uint64_t[8]; index 1 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,581,FP,H is uint64_t[8]; index 2 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,582,FP,H is uint64_t[8]; index 3 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,583,FP,H is uint64_t[8]; index 4 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,584,FP,H is uint64_t[8]; index 5 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,585,FP,H is uint64_t[8]; index 6 in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curl_sha512_256.c,586,FP,H is uint64_t[8]; index 7 in bounds,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,597,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,598,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_sha512_256.c,613,FP,BLOCK_SIZE-1 mask is documented modulo idiom on unsigned,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/curl_sha512_256.c,617,FP,"legit >>61 carry computation, no constant assumption",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,637,FP,byte-count pointer increment on unsigned char*; no sizeof scaling,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_sha512_256.c,669,FP,vtable callback signature; digest is the written output param,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_sha512_256.c,680,FP,"ctx->count is integer, not a FILE stream; bogus",curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_sha512_256.c,684,FP,BLOCK_SIZE-1 mask modulo idiom on unsigned; stylistic,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,717,FP,byte-offset arithmetic on unsigned char*; no sizeof present,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,717,FP,byte-offset arithmetic on unsigned char*; no double scaling,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,720,FP,byte-offset arithmetic on unsigned char*; no sizeof present,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,720,FP,byte-offset arithmetic on unsigned char*; no double scaling,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_sha512_256.c,720,FP,byte-offset arithmetic on unsigned char*; no double scaling,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_sha512_256.c,750,FP,"thin entry; input handled by update/EVP, siblings also unchecked",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,750,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_sha512_256.c,750,FP,conformant array syntax advisory; not curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_sha512_256.c,756,FP,init writes ctx (assigns H/EVP_create); does not read uninitialized,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_sha512_256.c,788,FP,implicit size from single-element HMAC_params initializer; idiomatic curl table,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/select.c,55,FP,both #ifdef branches end in return select(...); all paths return,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/select.c,249,FP,r assigned by r=poll(...) at line 248 before this read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/select.c,256,FP,"i is the for-loop induction variable, initialized at loop entry",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/select.c,257,FP,"if ufds NULL, fds_none stays TRUE and fn returns at 227 before reaching here",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/select.c,337,FP,static_pfds stored into cpfds->pfds (non-const handle kept); const inappropriate,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/select.c,341,FP,"cpfds is pointer-to-struct; sizeof(*cpfds) is full struct size, intended",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,357,FP,curlx_free declared in curlx memory header; sqc lacks preprocessor,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,359,FP,"sizeof(*cpfds) is struct size for memset of whole struct, correct",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,367,FP,curlx_calloc declared in curlx header; header-provided,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,371,FP,"new_fds sized count+inc; copy of count elems fits, bounded internal counts",curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,371,FP,"count is small bounded unsigned (pollfd capacity), no overflow",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,373,FP,curlx_free header-provided declaration,curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,404,FP,thin wrapper; cpfds_add_sock DEBUGASSERTs/handles; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,431,FP,DEBUGASSERT(cwfds) and DEBUGASSERT(static_wfds||!count) guard internal init,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/select.c,432,FP,static_wfds stored into cwfds->wfds (mutable handle retained),curl_full_audit_0.4.35,med
ARR01-C,curl,lib/select.c,437,FP,"sizeof(*cwfds) full struct size for memset, intended",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,497,FP,ps->actions sized to count; memset of count elems is exact,curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,497,FP,"count is small bounded socket-set size, element-size mul cannot overflow",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,497,FP,"sizeof(ps->actions[0]) is element size, correct for memset stride",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,514,FP,curlx_calloc header-provided,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,526,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,527,FP,free(ps->sockets) then reassign ps->sockets=def_sockets; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,529,FP,reads ps->actions (distinct member) to decide free; not freed memory,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,529,FP,"ps->def_actions is the static default buffer, never freed",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,530,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,531,FP,"def_actions is default static buffer, not freed; reassignment target",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,533,FP,def_sockets never freed; CURL_ARRAYSIZE reads only its type/size,curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,537,FP,internal move; callees DEBUGASSERT; not externally-facing untrusted pointer,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,551,FP,both buffers are def arrays of identical CURL_ARRAYSIZE; copy bounded,curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,551,FP,to->count==CURL_ARRAYSIZE(def) small constant; no overflow,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,551,FP,"sizeof(to->sockets[0]) element size, correct",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,552,FP,def actions array; bounded copy of count elements,curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,552,FP,count is small constant default size; no overflow,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,552,FP,"sizeof(to->actions[0]) element size, correct",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/select.c,561,FP,"Curl_pollset_change declared in select.h, used in multi.c/libssh/pingpong",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/select.c,561,FP,"has external linkage, called from multiple other TUs",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,585,FP,"memmove within ps->sockets, count (ps->n-(i+1)) < capacity; in-bounds",curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,585,FP,ps->n bounded small; (n-(i+1)) nonneg under i+1<n guard; no overflow,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,586,FP,"sizeof(ps->sockets[0]) element size, correct memmove stride",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,587,FP,"memmove within ps->actions, bounded by capacity",curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,587,FP,"bounded count, no overflow",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,588,FP,"sizeof(ps->actions[0]) element size, correct",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,606,FP,curlx_calloc header-provided,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/select.c,606,FP,"sizeof(nsockets[0]) reads type only, does not read nsockets value",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,609,FP,curlx_calloc header-provided,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,611,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/select.c,612,FP,nsockets is freed on this branch; nactions failed alloc (NULL); no leak,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,614,FP,nsockets sized new_count>ps->count; copy of count elems fits,curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,614,FP,ps->count small bounded; element-size mul no overflow,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,614,FP,"sizeof(ps->sockets[0]) element size, correct",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/select.c,615,FP,nactions sized new_count; copy of count elems fits,curl_full_audit_0.4.35,high
INT32-C,curl,lib/select.c,615,FP,"bounded count, no overflow",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/select.c,615,FP,"sizeof(ps->actions[0]) element size, correct",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,617,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,619,FP,ps->actions only freed when !=def_actions; read decides free; def never freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,619,FP,"def_actions is static default buffer, never freed",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,620,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,624,FP,"ps->count is a scalar field, not freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,625,FP,"ps->count scalar, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,626,FP,ps->sockets reassigned to nsockets at 618 before this write; not freed ptr,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/select.c,627,FP,ps->actions reassigned to nactions at 621 before this write; not freed ptr,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/select.c,631,FP,nsockets/nactions ownership transferred to ps->sockets/actions; no leak,curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,634,FP,thin wrapper to Curl_pollset_change; never derefs data itself,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/select.c,634,FP,"Curl_pollset_set declared in select.h, externally linked",curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,645,FP,data cast to void/DEBUGASSERT only; internal poll API,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/select.c,646,FP,ps members read but signature uniform across pollset API family,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/select.c,660,FP,curlx_calloc header-provided,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/select.c,660,FP,sizeof(*pfds) reads type only; pfds assigned by the calloc itself,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/select.c,681,FP,curlx_free header-provided,curl_full_audit_0.4.35,high
API00-C,curl,lib/select.c,685,FP,"internal check fn; ps iterated with bounded loop, DEBUGASSERT guards",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/select.c,685,FP,data unused (void-cast) but uniform pollset API signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/select.c,686,FP,ps read-only here but shared signature across pollset family; const churn,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/select.c,703,FP,data void-cast; uniform pollset accessor signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/select.c,704,FP,ps read-only but shared signature family,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/select.c,716,FP,data void-cast; uniform pollset accessor signature,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/select.c,717,FP,ps read-only but shared signature family,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/ws.c,292,FP,dec IS written (dec->head[0]=) via callers; ws_dec_info reads but sig shared,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,324,FP,conformant-array-syntax advisory; curl convention never uses it,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ws.c,369,FP,Curl_bufq_peek returns true guarantees inbuf non-NULL before deref,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,488,FP,"write_cb is function-pointer typedef param, not const-qualifiable; vtable-fixed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,594,FP,ws_cw_init is Curl_cwtype vtable impl; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,595,FP,writer->ctx accessed; vtable-fixed signature; not const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,603,FP,ws_cw_close vtable impl; signature fixed by Curl_cwtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,603,FP,writer param of vtable impl; signature fixed by typedef,curl_full_audit_0.4.35,high
API02-C,curl,lib/ws.c,619,FP,ws_enc_send has buflen size param already; advisory array-cap misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,621,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,631,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,667,FP,ws_cw_dec_next is callback typedef; array-syntax not applicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,671,FP,conformant-array-syntax advisory; callback signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,671,FP,user_data is callback typedef void* param; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,714,FP,ws_cw_write vtable impl; writer->ctx used; signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,715,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
INT14-C,curl,lib/ws.c,787,FP,firstbyte&WSBIT_FIN vs payload_len arithmetic are distinct members; style only,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ws.c,903,FP,"enc->mask is real uint8_t[4] struct member, not decayed param; sizeof correct",curl_full_audit_0.4.35,high
CON34-C,curl,lib/ws.c,908,FP,getenv only in DEBUGBUILD test hook; not production thread-safety concern,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/ws.c,910,FP,enc->mask is struct array member; sizeof(enc->mask)=4 correct,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,949,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/ws.c,966,FP,c is loop temp whose address is taken (Curl_bufq_write &c); const-able but idiomatic,curl_full_audit_0.4.35,med
MSC37-C,curl,lib/ws.c,982,FP,ws_enc_add_pending all paths reach out: return result; analyzer misparse,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/ws.c,1018,FP,ws->pending is struct member; sizeof(ws->pending) correct for memset,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1026,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1128,FP,cr_ws_init Curl_crtype vtable impl; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1128,FP,reader param of vtable impl; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1135,FP,cr_ws_close vtable impl; signature fixed by Curl_crtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1135,FP,reader param of vtable impl; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1142,FP,cr_ws_read vtable impl; reader->ctx used; signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1143,FP,conformant-array-syntax advisory; callback signature,curl_full_audit_0.4.35,high
API00-C,curl,lib/ws.c,1245,FP,Curl_ws_request internal; data always valid (req derived); siblings don't check,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/ws.c,1254,FP,"heads[] sized by initializer; idiomatic, CURL_ARRAYSIZE used for bound",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/ws.c,1275,FP,keyval filled by curlx_strcopy(1289) before read via heads[i].val(1293),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/ws.c,1292,FP,!Curl_checkheaders boolean idiom; standard curl option/header dispatch,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1302,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1302,FP,ws_conn_dtor key param is Curl_meta_dtor typedef; signature fixed,curl_full_audit_0.4.35,med
API05-C,curl,lib/ws.c,1302,FP,conformant-array-syntax advisory; dtor callback signature,curl_full_audit_0.4.35,high
API00-C,curl,lib/ws.c,1316,FP,Curl_ws_accept internal; DEBUGASSERT(data->conn); data always valid here,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1317,FP,conformant-array-syntax advisory; mem buffer param,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/ws.c,1334,FP,return value checked: if(p) at line 1335 before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/ws.c,1334,FP,getenv only in DEBUGBUILD test hook; not production thread-safety concern,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/ws.c,1337,FP,"curlx_str_number(&p,...) advances local ptr copy; env string not modified",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/ws.c,1381,FP,ws_dec_writer freed at out: label (1442) on every error path,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ws.c,1385,FP,Curl_cwriter_create result checked (1383); ws_dec_writer non-NULL here,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/ws.c,1417,FP,Curl_creader_create result checked (1415); ws_enc_reader non-NULL here,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1466,FP,ws_client_collect callback; conformant-array-syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1470,FP,conformant-array-syntax advisory; callback signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1522,FP,nw_in_recv callback; conformant-array-syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1523,FP,conformant-array-syntax advisory; callback signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1530,FP,curl_ws_recv public API; conformant-array-syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1530,FP,buffer is output buffer written by memcpy(ctx->buffer..); not const,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/ws.c,1611,FP,line is *nread=ws->recvframe.len; no flexible-array struct assignment present,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/ws.c,1638,FP,return value checked: if(p) at line 1639 before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/ws.c,1638,FP,getenv only in DEBUGBUILD test hook; not production thread-safety concern,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/ws.c,1641,FP,"curlx_str_number(&p,...) advances local ptr copy; env string not modified",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1686,FP,ws_send_raw_blocking takes ws but (void)ws; could be const but unused/idiomatic,curl_full_audit_0.4.35,med
API05-C,curl,lib/ws.c,1687,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1726,FP,ws_send_raw; conformant-array-syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1763,FP,curl_ws_send public API; conformant-array-syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1764,FP,sent is output param (*pnsent written); not const,curl_full_audit_0.4.35,high
API00-C,curl,lib/ws.c,1851,FP,curl_ws_meta guards via GOOD_EASY_HANDLE(data) before deref,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/ws.c,1866,FP,curl_ws_meta returns NULL at end; all paths return value,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1940,FP,curl_ws_recv stub (disabled build); param unused (void)curl; public API sig fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1940,FP,conformant-array-syntax advisory; public API signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1940,FP,buffer is public API param of stub; signature fixed by header,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1941,FP,nread is output param of public API; signature fixed by header,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1952,FP,curl_ws_send stub public API param; signature fixed by header,curl_full_audit_0.4.35,high
API05-C,curl,lib/ws.c,1952,FP,conformant-array-syntax advisory; public API signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1953,FP,sent is output param of public API; signature fixed by header,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1966,FP,curl_ws_meta stub public API param; signature fixed by header,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ws.c,1972,FP,curl_ws_start_frame stub public API param; signature fixed by header,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ws.c,1984,FP,Curl_scheme_ws needs external linkage; referenced in scheme table elsewhere,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ws.c,1984,FP,Curl_scheme_ws is exported scheme descriptor; cannot reduce scope,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/ws.c,1999,FP,Curl_scheme_wss needs external linkage; referenced elsewhere,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/ws.c,1999,FP,Curl_scheme_wss is exported scheme descriptor; cannot reduce scope,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/imap.c,169,FP,"resptag is a real char[5] struct member, not a decayed parameter; sizeof correct",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/imap.c,224,FP,"while(*str) NUL-terminated string scan; idiomatic, bounded by terminator",curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,242,FP,conformant-array-syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/imap.c,260,FP,"returns the const char* parameter 'line', not a local; misparse",curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,277,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,277,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/imap.c,280,FP,strlen(cmd) involves no signed-char-to-wider promotion,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,316,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,316,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/imap.c,319,FP,Curl_conn_meta_get returns properly-aligned alloc'd struct; idiomatic meta access,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/imap.c,331,FP,!memcmp comparison idiom; standard curl convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/imap.c,335,FP,!memcmp comparison idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/imap.c,337,FP,!memcmp comparison idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/imap.c,346,FP,!memcmp comparison idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/imap.c,399,FP,!memcmp comparison idiom,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,425,FP,data is the universal mutable easy-handle context; curl never consts it,curl_full_audit_0.4.35,med
STR30-C,curl,lib/imap.c,454,FP,Curl_bufref_set stores literal with NULL free-fn; literal not modified,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/imap.c,471,FP,names[] initializer-sized debug table; intentional,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/imap.c,548,FP,all paths return: USE_SSL out:return and #else return CURLE_NOT_BUILT_IN,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,592,TP,"static helper, conn only read (user/passwd), never written; could be const",curl_full_audit_0.4.35,low
MEM03-C,curl,lib/imap.c,596,FP,"passwd is a heap atom-copy pointer, not stack buffer; curl does not zero these",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/imap.c,737,TP,"static helper, imap only read; could be const-qualified",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/imap.c,772,FP,imap_perform_select reads imap->mailbox but pattern modifies imapc; data context mutable,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/imap.c,810,TP,"static helper, imap only read; could be const-qualified",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/imap.c,853,TP,"static helper, imap only read; could be const-qualified",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/imap.c,962,TP,"static helper, imap only read; could be const-qualified",curl_full_audit_0.4.35,low
EXP20-C,curl,lib/imap.c,879,FP,!Curl_checkheaders boolean idiom; standard curl convention,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/imap.c,912,FP,ulflag[] initializer-sized lookup table with NULL sentinel; intentional,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/imap.c,1186,FP,while(ISDIGIT(*params)) bounded by NUL check; idiomatic string scan,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,1198,TP,"static helper is_custom_fetch_listing, imap read-only; could be const",curl_full_audit_0.4.35,low
EXP36-C,curl,lib/imap.c,1225,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/imap.c,1239,FP,"memchr/pointer-diff, no signed-char promotion bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/imap.c,1239,FP,no signed-char-to-wider conversion present,curl_full_audit_0.4.35,high
STR34-C,curl,lib/imap.c,1239,FP,no signed-char-to-wider conversion present,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1244,FP,ptr walks within recvbuf buffer returned by imap_find_literal; valid,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/imap.c,1273,FP,"size and CURL_OFF_T_MAX are integers, not pointers; misparse",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/imap.c,1357,FP,"line is recvbuf ptr, guarded by len>=18 before &line[2]; non-NULL",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1421,FP,ptr++ walks within recvbuf buffer; valid pointer arithmetic on buffer,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/imap.c,1562,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,1731,TP,"imap_parse_url_options reads conn->options only, writes imapc; conn could be const",curl_full_audit_0.4.35,low
ARR30-C,curl,lib/imap.c,1738,FP,while(ptr && *ptr) option-string scan bounded by NUL; idiomatic,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1743,FP,ptr walks conn->options string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1745,FP,ptr+1 arithmetic on option string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1748,FP,ptr walks option string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1766,FP,ptr++ over option string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1805,FP,ptr++ scans URL path buffer; valid string walk,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/imap.c,1810,FP,end[-1] guarded by end>begin; valid in-bounds access,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1810,FP,end[-1] on path buffer guarded by end>begin; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1811,FP,end-- on path buffer pointer; valid,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/imap.c,1822,FP,while(*ptr==';') param loop advances ptr internally; NUL-bounded,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1828,FP,++ptr walks path buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1830,FP,ptr++ walks path buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1842,FP,++ptr walks path buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/imap.c,1844,FP,ptr++ walks path buffer; valid,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/imap.c,1861,FP,"value from Curl_urldecode success path, guarded valuelen>0; non-NULL",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/imap.c,1894,FP,free at 1886 is in else-branch that returns; 1894 free is mutually exclusive,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,1920,FP,data is mutable easy-handle context; curl never consts it,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/imap.c,2001,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/imap.c,2054,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,2113,TP,imap_dophase_done reads imap->transfer only; could be const-qualified,curl_full_audit_0.4.35,low
EXP36-C,curl,lib/imap.c,2168,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/imap.c,2218,FP,meta_get returns aligned alloc'd struct; idiomatic,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,2236,FP,dtor signature fixed by hash callback typedef; cannot change to array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,2236,FP,imap_easy_dtor signature fixed by hash-dtor function-pointer typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,2236,FP,callback-typedef-fixed signature; array syntax inapplicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,2245,FP,imap_conn_dtor signature fixed by dtor typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/imap.c,2245,FP,imap_conn_dtor signature fixed by hash-dtor function-pointer typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/imap.c,2245,FP,callback-typedef-fixed signature; array syntax inapplicable,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/imap.c,2277,FP,line 2277 is the calloc assignment to imapc itself; not an uninit deref,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/imap.c,2297,FP,"imapc already registered (2291) with conn dtor; owned, not leaked",curl_full_audit_0.4.35,med
MEM12-C,curl,lib/imap.c,2299,FP,imapc owned by conn meta; imap registered via meta_set with dtor on success,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/imap.c,2331,FP,"Curl_scheme_imap is intentionally external, referenced cross-file via header",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/imap.c,2331,FP,exported scheme handler; external linkage required,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/imap.c,2349,FP,"Curl_scheme_imaps is intentionally external, referenced cross-file",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/imap.c,2349,FP,exported scheme handler; external linkage required,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,71,FP,conformant array syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
CON03-C,curl,lib/vquic/curl_quiche.c,99,FP,DEBUG_QUICHE-only one-time init guard; not a real concurrency hazard,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vquic/curl_quiche.c,100,FP,argp fixed by quiche_enable_debug_logging callback typedef; const cannot be added,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,207,FP,user_data fixed by Curl_uint32_hash_visit callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,217,FP,cf deref read-only but passed mutably downstream; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,218,FP,multi passed to non-const hash visit; cannot const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,219,FP,do_cb function-pointer arg; not const-able,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,220,FP,user_data opaque passthrough,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,234,FP,user_data fixed by cf_quiche_svisit typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,248,FP,user_data fixed by cf_quiche_svisit typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,258,FP,cf used as cf->ctx then passed mutably; curl convention,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,262,FP,"H3_STREAM_CTX hash-lookup cast; void* value, not real misalignment",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,308,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,329,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,351,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
CON43-C,curl,lib/vquic/curl_quiche.c,354,FP,local hdr pointer in single-threaded header scan; no double-fetch,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,364,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,365,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,366,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,366,FP,argp fixed by quiche_h3_event_for_each_header callback typedef,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vquic/curl_quiche.c,378,FP,!strncmp idiom in pseudo-header match; idiomatic,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vquic/curl_quiche.c,390,FP,"dyn_ptr/dyn_len args read same dynbuf, no interfering side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vquic/curl_quiche.c,411,FP,dyn_ptr/dyn_len args have no order-dependent side effects,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,428,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,428,FP,reader_ctx fixed by Curl_bufq reader callback typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,429,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,578,FP,user_data fixed by hash visit callback typedef,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vquic/curl_quiche.c,613,FP,ev written by quiche_h3_conn_poll via &ev output param; sqc misses,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,640,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,642,FP,remote_addr fixed by vquic_recv_packets callback typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,644,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vquic/curl_quiche.c,646,FP,"r reassigned via ++r->pkts target; const-local advisory, curl convention",curl_full_audit_0.4.35,med
ARR39-C,curl,lib/vquic/curl_quiche.c,660,FP,"buflen-offset are size_t, no sizeof scaling; misfire",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,738,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,739,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
INT10-C,curl,lib/vquic/curl_quiche.c,837,FP,timeout_ns is non-negative nanosecond timeout; modulo well-defined in practice,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vquic/curl_quiche.c,849,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,886,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,886,FP,buf fixed by cfilter cf_recv vtable signature,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,889,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,932,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,977,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,981,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vquic/curl_quiche.c,1028,FP,"e loop-local entry pointer; const-local advisory, curl convention",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vquic/curl_quiche.c,1029,FP,"e=getn(i) with i<count; in-bounds, non-NULL",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_quiche.c,1081,FP,"guarded by if(blen); buf is function param, callee passes to quiche",curl_full_audit_0.4.35,high
API05-C,curl,lib/vquic/curl_quiche.c,1097,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,1101,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,1155,FP,"cf used as cf->ctx, passed mutably; curl convention",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,1159,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,1178,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,1194,FP,cf fixed by cfilter cntrl/data_pause path; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,1209,FP,arg2 fixed by cfilter cntrl vtable signature,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vquic/curl_quiche.c,1226,FP,H3_STREAM_CTX hash-lookup cast; not real misalignment,curl_full_audit_0.4.35,high
STR31-C,curl,lib/vquic/curl_quiche.c,1228,FP,"body[1] is a single sentinel byte, not a string; len 0 sent",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1267,FP,ctx->cfg struct member freed by cf_quiche_ctx_close on teardown,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_quiche.c,1315,FP,sockaddr populated by socket_peek; error returns before use at 1303,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1320,FP,ctx->cfg freed by ctx_close on connection teardown; not leaked,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vquic/curl_quiche.c,1329,FP,quiche_conn_set_qlog_fd takes const char* titles; literals not modified,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vquic/curl_quiche.c,1329,FP,duplicate of qlog title/desc literal; const char* params,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vquic/curl_quiche.c,1338,FP,array with initializer has well-defined implicit bounds; idiomatic,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vquic/curl_quiche.c,1342,FP,sizeof(alpn_protocols) on real array = byte count; no double scaling,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1352,FP,ctx->cfg freed by ctx_close; struct member not stack leak,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vquic/curl_quiche.c,1385,FP,"line is CURLcode result assignment, not an fd; misattribution",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1409,FP,ctx->h3config struct member freed by cf_quiche_ctx_close,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1445,FP,ctx->h3config freed by ctx_close on teardown; not leaked,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vquic/curl_quiche.c,1448,FP,cf_quiche_shutdown returns on all paths via out:; branch-merge misfire,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vquic/curl_quiche.c,1505,FP,data fixed by cfilter destroy vtable signature,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vquic/curl_quiche.c,1568,FP,*palpn is char** assigned char*; not a signed-char read,curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_quiche.c,1634,FP,"exported create fn; pcf only written, callers pass valid pointers",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_quiche.c,1634,FP,"data passed downstream, not dereffed here; thin create wrapper",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_quiche.c,1634,FP,"conn only stored (cf->conn=conn), not dereffed",curl_full_audit_0.4.35,high
API00-C,curl,lib/vquic/curl_quiche.c,1634,FP,"ai passed to udp_create, not dereffed here",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vquic/curl_quiche.c,1650,FP,cf freed via Curl_conn_cf_discard_chain in out: error block,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vquic/curl_quiche.c,1653,FP,cf non-NULL after Curl_cf_create success (result==0 reaches 1653),curl_full_audit_0.4.35,high
PRE00-C,curl,lib/conncache.c,39,FP,"CPOOL_IS_LOCKED args always plain vars; advisory style, no side-effect operands",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/conncache.c,39,FP,"Multi-eval of 'c' harmless; arg is always a plain variable, no side effects",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/conncache.c,41,FP,"CPOOL_LOCK needs macro (DEBUGASSERT/lvalue assign); plain-var args, advisory only",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/conncache.c,41,FP,"Multi-eval of 'c' harmless; arg always plain variable, assigns lvalue (c)->locked",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/conncache.c,52,FP,"CPOOL_UNLOCK needs lvalue assignment; plain-var args, advisory style only",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/conncache.c,52,FP,"Multi-eval of 'c' harmless; plain-var arg, assigns (c)->locked lvalue",curl_full_audit_0.4.35,med
DCL38-C,curl,lib/conncache.c,66,TP,Struct-hack char dest[1]; CERT prefers flexible array member [],curl_full_audit_0.4.35,low
STR31-C,curl,lib/conncache.c,66,FP,dest[1] is over-allocated flexible buffer (calloc sizeof+dest_len-1); not too small,curl_full_audit_0.4.35,high
STR34-C,curl,lib/conncache.c,72,FP,strlen(dest) on const char*; no signed-char-to-int conversion present,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/conncache.c,74,FP,curlx_calloc declared in curl headers; sqc lacks preprocessor view,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/conncache.c,74,FP,bundle assigned curlx_calloc result on this same line before any use,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/conncache.c,80,FP,"bundle is heap-allocated via calloc, not automatic storage",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/conncache.c,86,FP,curlx_free declared in curl headers; sqc lacks preprocessor view,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,99,FP,[adv] static helper reads bundle->conns only; could be const (not fn-ptr-bound),curl_full_audit_0.4.35,adversarial-flip
EXP34-C,curl,lib/conncache.c,103,FP,"internal helper; conn caller-guaranteed non-null, only DEBUGASSERT use",curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,113,FP,idata only stored after DEBUGASSERT(idata); not dereferenced unchecked,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,113,FP,share merely stored to cpool->share; never dereferenced here,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,115,FP,"share stored into non-const cpool->share field; const would mismatch, public API",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,148,TP,static cpool_find_bundle reads conn->destination only; conn could be const,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/conncache.c,151,FP,internal helper; conn caller-guaranteed non-null in connection pool path,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,155,TP,static cpool_remove_bundle reads bundle->dest/dest_len only; could be const,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/conncache.c,165,FP,"internal helper; conn caller-guaranteed non-null, DEBUGASSERT(cpool) present",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/conncache.c,194,FP,DEBUGASSERT(!conn->bits.in_cpool); conn caller-guaranteed non-null,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,256,FP,cpool_get_instance returns non-const &data->share->cpool; const data breaks return,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,269,FP,data passed to cpool_get_instance which null-checks; DEBUGASSERT(cpool),curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,271,FP,cpool is real struct member &data->multi->cpool; no char* reinterpretation,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,292,TP,static cpool_add_bundle reads conn->destination only; conn could be const,curl_full_audit_0.4.35,low
DCL30-C,curl,lib/conncache.c,305,FP,"bundle is heap-allocated via cpool_bundle_create, not automatic storage",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/conncache.c,351,FP,conn assigned Curl_node_elem(curr) before use inside same loop body,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,370,FP,data null-checked via cpool_get_instance; conn caller-guaranteed,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,370,FP,conn only dereferenced after cpool found; caller-guaranteed non-null,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,373,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,466,FP,data null-checked via cpool_get_instance + if(!cpool) return,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,466,FP,conn DEBUGASSERT(conn); caller-guaranteed non-null in add path,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/conncache.c,466,FP,"Curl_cpool_add is public API declared in conncache.h, needs external linkage",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,471,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/conncache.c,539,FP,"func is a function-pointer parameter being invoked, not undeclared function",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/conncache.c,539,FP,"==1 intentional per documented func contract (0 continue, 1 abort)",curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,553,FP,conn caller-guaranteed; data null-checked at if(!data) return,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/conncache.c,558,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,595,FP,data null-checked via cpool_get_instance + if(!cpool) return,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,595,FP,destination only used via strlen after bundle pick; caller-guaranteed,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,595,FP,conn_cb guarded by DEBUGASSERT(conn_cb) before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,598,FP,done_cb is a function-pointer typedef param; const not applicable,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,601,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/conncache.c,621,FP,"conn_cb is a function-pointer parameter being invoked, not undeclared fn",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/conncache.c,629,FP,"done_cb is a function-pointer parameter being invoked, not undeclared fn",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,639,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/conncache.c,651,FP,conn use guarded by CONN_INUSE(conn) branch; caller-guaranteed non-null,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,718,FP,data null-checked via cpool_get_instance + if(!cpool) return,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,720,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,741,FP,conn_upkeep signature fixed by cpool_foreach func-ptr type; param is (void)param,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,748,FP,data null-checked via cpool_get_instance + if(!cpool) return,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,750,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,766,FP,cpool_find_conn signature fixed by cpool_foreach func-ptr typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,767,FP,conn param signature fixed by cpool_foreach func-ptr type; cannot const,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,781,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,801,FP,cpool_do_conn signature fixed by cpool_foreach func-ptr type,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,812,FP,data null-checked via cpool_get_instance + if(!cpool) return,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,812,FP,cb stored then invoked inside callback under lock; caller-guaranteed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,813,FP,cb is a function-pointer typedef param; const not applicable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,813,FP,cbdata is opaque void* userdata passed through; const would break callback ABI,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/conncache.c,815,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,828,FP,data passed to cpool_get_instance which null-checks; if(cpool) guard,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,830,FP,cb is a function-pointer typedef param; const not applicable,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,832,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,842,FP,cpool_mark_stale signature fixed by cpool_foreach func-ptr type,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,843,FP,param signature fixed by func-ptr type; (void)param unused,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,852,FP,cpool_reap_no_reuse signature fixed by cpool_foreach func-ptr type,curl_full_audit_0.4.35,high
API00-C,curl,lib/conncache.c,862,FP,data passed to cpool_get_instance which null-checks; if(cpool) guard,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/conncache.c,864,FP,"cpool is real struct member pointer; alignment misparse, no char* cast",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/conncache.c,877,FP,Curl_cpool_print is inside #if 0 dead debug code; not compiled,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/conncache.c,893,FP,inside #if 0 dead debug code; conn assigned before use anyway,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,31,FP,"Conformant-array-syntax advisory; curl never uses C99 array params, idiomatic",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,39,FP,"Conformant-array-syntax advisory on char*/size_t signature, idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,46,FP,curlx_malloc is a macro/wrapper from curlx headers; sqc cannot see declaration,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_urlglob.c,53,FP,Frees elem array after elem[0] alloc fails then returns; not a UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_urlglob.c,53,FP,"Same free site; freeing pat->c.set.elem on error, no later access",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_urlglob.c,82,FP,sum assigned in same #else arm before division; branch-merge confusion,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,90,FP,"Conformant-array-syntax advisory, idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,99,FP,"char** deref to const char* pointer copy, no sign-extension to wider int",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_urlglob.c,107,FP,while(!done) over NUL-terminated string; '\0' case breaks loop,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_urlglob.c,108,FP,"Single-threaded parser; no concurrency, no double-fetch race",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,138,FP,curlx_malloc macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,141,FP,curlx_realloc macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,155,FP,curlx_strdup macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_urlglob.c,190,FP,"pattern points into caller's URL string, not a local; out-param returns position",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,190,FP,"Pointer-to-pointer assignment, not char-to-int sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,192,FP,Struct member pointer assignment; no signed-char widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,192,FP,Misparse of pat field assignment; no sign extension,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_urlglob.c,200,FP,"Success path; elem ownership transferred to pat->c.set.elem, not leaked",curl_full_audit_0.4.35,high
MSC07-C,curl,src/tool_urlglob.c,201,FP,"'error:' is a reachable goto label, not unreachable post-return code",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,207,FP,curlx_free macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_urlglob.c,208,FP,Error path correctly frees elem[i] then elem array; no leak,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,211,FP,"Conformant-array-syntax advisory, idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,222,FP,char** deref to const char* copy; no sign extension,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,225,FP,Pointer assignment of pat field; no char widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,225,FP,"Misparse; pointer assignment, no sign extension",curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_urlglob.c,231,FP,min_c IS modified at line 239 (min_c=pattern[0]); not const-eligible,curl_full_audit_0.4.35,med
DCL00-C,curl,src/tool_urlglob.c,232,FP,max_c modified at line 240; not const-eligible,curl_full_audit_0.4.35,med
DCL00-C,curl,src/tool_urlglob.c,233,FP,end_c modified at line 241; not const-eligible,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_urlglob.c,246,FP,const char *p = &pattern[4] pointer init; no char-to-int widening,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_urlglob.c,261,FP,pattern and *patternp point into same URL string; valid ptr difference,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_urlglob.c,265,FP,"min_c/max_c are chars not pointers; comparison is value, not cross-array ptr",curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_urlglob.c,265,FP,"max_c-min_c is char arithmetic, not pointer subtraction; misparse",curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_urlglob.c,265,FP,char range arithmetic guarded to a-z window; plain char idiomatic here,curl_full_audit_0.4.35,med
INT08-C,curl,src/tool_urlglob.c,265,FP,max_c-min_c bounded by ('z'-'a') guard; no overflow possible,curl_full_audit_0.4.35,med
INT07-C,curl,src/tool_urlglob.c,265,FP,min_c char arithmetic bounded; idiomatic ASCII range handling,curl_full_audit_0.4.35,med
ARR36-C,curl,src/tool_urlglob.c,266,FP,"char value subtraction, not pointer subtraction; misparse",curl_full_audit_0.4.35,high
INT07-C,curl,src/tool_urlglob.c,266,FP,char range arithmetic bounded by guard; idiomatic,curl_full_audit_0.4.35,med
INT08-C,curl,src/tool_urlglob.c,266,FP,(max_c-min_c) bounded by 'z'-'a'; no overflow,curl_full_audit_0.4.35,med
INT07-C,curl,src/tool_urlglob.c,266,FP,min_c char arithmetic bounded; idiomatic,curl_full_audit_0.4.35,med
FLP03-C,curl,src/tool_urlglob.c,275,FP,"Integer division on curl_off_t, not floating point; no FP exception",curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_urlglob.c,293,FP,c walks NUL-terminated string via ISDIGIT guard; valid pointer increment,curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_urlglob.c,317,FP,pattern and *patternp into same URL string; valid difference,curl_full_audit_0.4.35,high
FLP03-C,curl,src/tool_urlglob.c,331,FP,"Integer division on curl_off_t, not floating point",curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_urlglob.c,339,FP,"pattern points into caller's URL string, not local; valid out-param",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,339,FP,"Pointer assignment, not char widening",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,345,FP,"Conformant-array-syntax advisory, idiomatic",curl_full_audit_0.4.35,high
ENV01-C,curl,src/tool_urlglob.c,352,FP,"hostname[128] used with strchr-derived hlen, no getenv involved",curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_urlglob.c,371,FP,hlen guarded <MAX_IP6LEN(128); memcpy into 128-byte buf bounded,curl_full_audit_0.4.35,high
STR31-C,curl,src/tool_urlglob.c,371,FP,Explicit hostname[hlen]=0 terminator added next line; bounded,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,394,FP,curlx_realloc macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_urlglob.c,406,FP,"Conformant-array-syntax advisory, idiomatic",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_urlglob.c,417,FP,while(*pattern) over NUL-terminated string; terminator-bounded,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_urlglob.c,418,FP,Inner while(*pattern) NUL-terminator-bounded; not unbounded,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_urlglob.c,456,FP,"glob_fixed(glob, dyn_ptr(&buf), dyn_len(&buf)): args read same buf, no write side effects",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_urlglob.c,486,FP,glob_inuse reads glob->palloc; could be const but matches glob_* family signature convention,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_urlglob.c,491,FP,"glob_url memsets glob, internal CLI caller always passes valid url; thin entry",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,503,FP,curlx_malloc macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
STR00-C,curl,src/tool_urlglob.c,543,FP,"elem is curl_off_t loop index 0..size, not a char used as array index",curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_urlglob.c,544,FP,"Frees elem[] entries then elem array; correct teardown order, no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_urlglob.c,544,FP,Sequential member free in cleanup; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_urlglob.c,544,FP,glob->pattern still valid here; freed only at line 547 after loop,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_urlglob.c,549,FP,glob->buf freed once via dyn_free inside guarded block; not UAF,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,558,FP,"*globbed=NULL pointer assignment, not char sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,628,FP,"*globbed = strdup(...) pointer assignment, not char widening",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_urlglob.c,629,FP,curlx_strdup macro wrapper; declaration in curlx headers,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_urlglob.c,638,FP,filename guarded by while(*filename); internal CLI caller passes valid ptr,curl_full_audit_0.4.35,high
MSC37-C,curl,src/tool_urlglob.c,638,FP,"Both #if/#else branches return; all paths covered, misparse of preprocessor",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_urlglob.c,639,FP,glob read-only here but matches glob_* family non-const signature convention,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_urlglob.c,642,FP,"*output=NULL pointer assignment, not char sign extension",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_urlglob.c,654,FP,"num filled by curlx_str_number(&filename,&num,...); used only on success(0)",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,708,FP,"*output=sanitized pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_urlglob.c,712,FP,"*output=dyn_ptr pointer assignment, not char widening",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,145,FP,"conn passed through to sasl parser; project convention, not const-able idiomatically",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/smtp.c,151,FP,"NUL-terminated string scan (*ptr guard); standard C string idiom, not unbounded",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,182,FP,data is Curl_easy mutated downstream via meta/state; not const-able,curl_full_audit_0.4.35,high
STR34-C,curl,lib/smtp.c,186,FP,"pointer init from path[1], no char-to-int sign-extension assignment here",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/smtp.c,187,FP,"localhost buffer sized HOSTNAME_MAX+1 for gethostname, not getenv",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/smtp.c,187,FP,"fixed-size stack array, compile-time HOSTNAME_MAX bound; not a VLA",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,207,FP,data mutated via Curl_urldecode writing smtp->custom; not const,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/smtp.c,262,FP,fqma+1 is valid string-tail pointer after fqma[0]=='<' check; not OOB,curl_full_audit_0.4.35,high
STR34-C,curl,lib/smtp.c,276,FP,"*addressend='\0' is a store, no sign-extension read",curl_full_audit_0.4.35,high
STR34-C,curl,lib/smtp.c,277,FP,"*suffix assigned pointer (addressend+1), no char sign-extension",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,284,FP,guarded by if(host->name) before deref,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/smtp.c,296,FP,"dup is heap (curlx_strdup), not stack; *address=dup is valid escape",curl_full_audit_0.4.35,high
STR34-C,curl,lib/smtp.c,296,FP,"*address=dup is pointer store, no sign extension",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,312,FP,cr_eob_init is creader vtable signature; fixed by Curl_crtype typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,313,FP,reader->ctx written; vtable signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,324,FP,cr_eob_close vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,324,FP,reader vtable param; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,337,FP,"cr_eob_read vtable signature; reader->ctx used, fixed by typedef",curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,338,FP,curl never uses C99 array-param syntax; advisory style,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/smtp.c,366,FP,i and start index same buf; i-start is valid same-array subtraction,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/smtp.c,389,FP,nread-start same buffer; valid same-array subtraction,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,439,FP,cr_eob_total_length vtable signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,440,FP,reader vtable param; fixed signature,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,469,FP,reader set by Curl_creader_create under if(!result); non-NULL on add,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,484,FP,smtp_endofresp is endofresp vtable handler; signature fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,485,FP,advisory array-syntax; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,485,FP,advisory array-syntax; curl convention,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/smtp.c,509,FP,"index is 3 or 5, both < tmpline[6]; in-bounds",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,534,FP,smtp_get_message vtable handler; data used for conn meta,curl_full_audit_0.4.35,high
STR30-C,curl,lib/smtp.c,563,FP,Curl_bufref_set stores ptr+free fn (NULL here); does not modify literal,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/smtp.c,580,FP,"const string array sized by initializer; explicit size unnecessary, idiomatic",curl_full_audit_0.4.35,med
MSC37-C,curl,lib/smtp.c,681,FP,both #ifdef USE_SSL and #else branches return; macro-branch artifact,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,826,FP,smtp passed but smtp->rcpt traversal; called from non-const dispatch chain,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/smtp.c,859,FP,"address is out-param of smtp_parse_address, always set to dup; result checked",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/smtp.c,870,FP,!strcmp boolean idiom in option dispatch; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,899,FP,smtp->rcpt traversed; part of non-const perform dispatch family,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/smtp.c,933,FP,address non-NULL after smtp_parse_address success; result checked at goto out,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,940,FP,address non-NULL out-param; result checked,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,962,FP,inner-block address (decl 956) distinct from FROM-block address; not freed yet,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,963,FP,address just (re)assigned by parse; not freed; scope conflation,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,971,FP,"address live, single free at 984; sqc conflates separate blocks",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,976,FP,address used before its single free at 984; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,976,FP,address non-NULL out-param after parse success,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,983,FP,address used in else-branch before single free; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,983,FP,address non-NULL out-param after parse success,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/smtp.c,984,FP,single free of inner-block address per execution; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/smtp.c,984,FP,only one curlx_free(address) for this block; if/else exclusive paths,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/smtp.c,1010,FP,!Curl_checkheaders presence-test idiom; idiomatic boolean use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,1090,FP,"smtp->rcpt traversed; perform dispatch family, not const convention",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/smtp.c,1107,FP,address non-NULL out-param after smtp_parse_address; result checked,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/smtp.c,1112,FP,address non-NULL out-param; result checked at line 1101,curl_full_audit_0.4.35,high
INT30-C,curl,lib/smtp.c,1240,FP,len-- inside while(len && ...) guard; len>0 guaranteed,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smtp.c,1512,FP,Curl_meta_get returns properly-aligned stored struct; opaque-cast artifact,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smtp.c,1717,FP,meta_get returns aligned struct pointer; not a char* reinterpret,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,1812,FP,"smtp->transfer written at 1817; param IS modified, not const-able",curl_full_audit_0.4.35,med
EXP36-C,curl,lib/smtp.c,1872,FP,meta_get returns aligned struct; alignment preserved,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/smtp.c,1924,FP,meta_get returns aligned struct pointer; opaque-cast artifact,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,1942,FP,dtor vtable signature; advisory array syntax not used in curl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,1942,FP,smtp_easy_dtor key is dtor-callback signature fixed by Curl_meta typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,1942,FP,dtor vtable signature; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,1950,FP,smtp_conn_dtor vtable signature; advisory array syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/smtp.c,1950,FP,dtor-callback key param fixed by meta typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/smtp.c,1950,FP,dtor vtable signature; advisory,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smtp.c,1967,FP,smtpc assigned by curlx_calloc same statement region; calloc macro opacity,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/smtp.c,1974,FP,smtp assigned by curlx_calloc before use; macro opacity,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/smtp.c,1981,FP,smtpc/smtp owned by meta system via dtors (smtp_conn_dtor/smtp_easy_dtor); not leaked,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/smtp.c,2012,FP,"Curl_scheme_smtp has external linkage by design (referenced in smtps upgrade, scheme table)",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/smtp.c,2012,FP,exported scheme handler must be file-scope external; minimal-scope N/A,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/smtp.c,2029,FP,Curl_scheme_smtps external by design (set as conn->scheme in TLS upgrade),curl_full_audit_0.4.35,high
DCL19-C,curl,lib/smtp.c,2029,FP,exported scheme symbol; must have external linkage,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h2-proxy.c,106,FP,tunnel_stream_clear frees distinct members sequentially then memset; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h2-proxy.c,107,FP,frees distinct struct member sendbuf; no access to freed memory,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/cf-h2-proxy.c,109,FP,sizeof(*ts) on struct pointer is correct memset idiom; ts not an array,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h2-proxy.c,161,FP,Curl_safefree of single member proxyuserpwd; no subsequent use,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h2-proxy.c,161,FP,"data->state member free; nulled by safefree, no UAF",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/cf-h2-proxy.c,197,FP,sizeof(*ctx) on struct pointer is correct memset idiom,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,209,TP,static helper drain_tunnel reads cf only; const valid but curl idiom,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-h2-proxy.c,211,TP,"static helper, tunnel read-only; const addable but curl idiom",curl_full_audit_0.4.35,low
API05-C,curl,lib/cf-h2-proxy.c,220,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,221,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,249,FP,"o initialized via nghttp2_option_new out-param, guarded by rc check",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,261,TP,static helper reads ctx->h2 only; const addable but curl idiom,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/cf-h2-proxy.c,396,FP,nghttp2 send callback signature fixed by typedef; const impossible,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,397,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,398,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,429,FP,nghttp2 on_frame_send callback signature fixed by typedef,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cf-h2-proxy.c,442,FP,len=msnprintf return bounded by sizeof-1=255; buffer[len] in bounds,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,449,FP,nghttp2 on_frame_recv callback signature fixed by typedef,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/cf-h2-proxy.c,465,FP,len=msnprintf return bounded by sizeof-1; buffer[len] in bounds,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/cf-h2-proxy.c,509,FP,status/100 is integer division on int status; not floating point,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,529,FP,nghttp2 on_header callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,531,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,532,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,534,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h2-proxy.c,574,FP,"resp set by Curl_http_resp_make, guarded by if(result) return",curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,598,FP,conformant array syntax advisory; nghttp2 callback signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,599,FP,conformant array syntax advisory; nghttp2 callback signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,600,FP,nghttp2 tunnel_send_callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,601,FP,conformant array syntax advisory; nghttp2 callback signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,636,FP,nghttp2 recv callback signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,638,FP,conformant array syntax advisory; nghttp2 callback signature,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,638,FP,conformant array syntax advisory; nghttp2 callback signature,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,638,FP,userp in nghttp2 callback signature; fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,665,FP,nghttp2 on_stream_close callback signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,689,FP,"cf is (void)cf unused param; const trivial but cosmetic, not a violation",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-h2-proxy.c,696,FP,read_ctx stored into data_prd.source.ptr (void*); not const-able cleanly,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/cf-h2-proxy.c,759,FP,"req set by create_CONNECT, guarded by if(result) goto out before use",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h2-proxy.c,761,FP,req non-NULL after success guard; passed safely,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/cf-h2-proxy.c,807,FP,Curl_safefree(newurl) then state change; no access to freed newurl,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,901,FP,rc is int return; cbs freed at out: via callbacks_del; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,904,FP,cbs freed unconditionally at out: label on all goto paths,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,921,FP,rc is int; ctx->h2 alloc freed by cf_h2_proxy_ctx_clear; no leak,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-h2-proxy.c,921,FP,"cbs set by callbacks_new, guarded by if(rc) goto out before use",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,924,FP,session in ctx->h2 freed by ctx_clear/ctx_free; not leaked on goto,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,941,FP,"ctx->h2 owned by ctx, freed at destroy; rc is int return",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,951,FP,"ctx->h2 owned by ctx, freed at destroy; no leak on goto",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-h2-proxy.c,961,FP,"ctx->h2 owned by ctx structure, freed by ctx_free; not a local leak",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,987,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1025,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,1034,FP,cf_h2_proxy_destroy vtable signature; data param fixed by Curl_cftype,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1058,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,1089,FP,cf_h2_proxy_data_pending vtable signature; cf fixed by Curl_cftype,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1122,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,1174,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,1203,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1211,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
API05-C,curl,lib/cf-h2-proxy.c,1249,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1259,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cf-h2-proxy.c,1307,FP,trace-macro args are read-only nghttp2 query/bufq_len calls; no shared side effects,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1326,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/cf-h2-proxy.c,1339,FP,trace-macro args are read-only query functions; ordering irrelevant,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1397,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
STR34-C,curl,lib/cf-h2-proxy.c,1428,FP,*palpn=NULL assigns null to const char*; no sign extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-h2-proxy.c,1441,FP,cf_h2_proxy_cntrl vtable signature; arg2 is (void)arg2 unused,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1451,FP,save initialized by CF_DATA_SAVE macro sqc cannot expand,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-h2-proxy.c,1479,FP,insert_after passes cf onward without dereferencing it itself; caller-validated,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-h2-proxy.c,1480,FP,exported API signature; data is (void)data unused,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-h2-proxy.c,1487,FP,ctx=calloc then guarded by if(!ctx) goto out; sizeof(*ctx) not a deref,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_trc.c,48,FP,conformant-array-syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_trc.c,59,FP,"7 string initializers each fit [3]; not excess elements, dim0 inferred",curl_full_audit_0.4.35,high
ERR00-C,curl,lib/curl_trc.c,65,FP,verbose-trace fwrite to stderr; ignoring return is idiomatic logging,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_trc.c,65,FP,trace output fwrite; unchecked write to debug stream acceptable,curl_full_audit_0.4.35,med
ERR00-C,curl,lib/curl_trc.c,66,FP,verbose-trace fwrite to stderr; idiomatic unchecked logging,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_trc.c,66,FP,trace output fwrite; unchecked write to debug stream acceptable,curl_full_audit_0.4.35,med
CON03-C,curl,lib/curl_trc.c,83,FP,static config feat struct set once at init; not a concurrency defect,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,91,FP,data read via macros and conn deref; const-param not project convention,curl_full_audit_0.4.35,med
API05-C,curl,lib/curl_trc.c,91,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_trc.c,108,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_trc.c,126,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_trc.c,129,FP,"7 two-char initializers fit [3]; outer dim inferred, no overflow",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/curl_trc.c,131,FP,buf is fixed trace line buffer; no getenv involved here,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curl_trc.c,138,FP,curl_msnprintf not sprintf; return used to advance len safely,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/curl_trc.c,160,FP,trace fwrite to err stream; idiomatic unchecked logging,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_trc.c,160,FP,trace fwrite; unchecked write to debug stream acceptable,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/curl_trc.c,160,FP,"buf declared at 131, len set at 159 before fwrite; initialized",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_trc.c,160,FP,len assigned by trc_print_ids at 159 before use; initialized,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/curl_trc.c,163,FP,trace fwrite to err stream; idiomatic unchecked logging,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_trc.c,163,FP,trace fwrite; unchecked write acceptable,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/curl_trc.c,163,FP,type constrained by switch cases TEXT/HEADER_* all < CURLINFO_END,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_trc.c,163,FP,type bounded by enclosing switch to valid CURLINFO values,curl_full_audit_0.4.35,high
ERR00-C,curl,lib/curl_trc.c,164,FP,trace fwrite to err stream; idiomatic unchecked logging,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_trc.c,164,FP,trace fwrite; unchecked write acceptable,curl_full_audit_0.4.35,med
MSC07-C,curl,lib/curl_trc.c,166,FP,break ends case then default follows; not unreachable code,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,176,FP,"internal logging fn; data always valid from caller, DEBUGASSERT guards",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curl_trc.c,176,FP,Curl_failf is exported API used across translation units; needs linkage,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curl_trc.c,182,FP,"error[CURL_ERROR_SIZE+2] is fixed-size array, not a VLA",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,197,FP,thin internal fn; data always valid from caller,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,235,FP,"feat read only but matches internal trc_infof sig; const advisory, not violation",curl_full_audit_0.4.35,med
ENV01-C,curl,lib/curl_trc.c,240,FP,buf is fixed trace line buffer; no getenv at this site,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_trc.c,243,FP,buf written by trc_print_ids via out-param before any read; len starts 0,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curl_trc.c,245,FP,curl_msnprintf not sprintf; return accumulated into len safely,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curl_trc.c,248,FP,curl_msnprintf not sprintf; return used safely,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curl_trc.c,251,FP,curl_msnprintf not sprintf; return used safely,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curl_trc.c,253,FP,curl_mvsnprintf not sprintf; return used safely,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,258,FP,"logging fn; data always valid, guarded by Curl_trc_is_verbose",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,269,FP,logging fn; data valid from caller,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,269,FP,cf guarded by DEBUGASSERT(cf) and verbose check,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_trc.c,281,FP,"implicit-bounds string array with initializer; idiomatic, size used via ARRAYSIZE",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,318,FP,internal fn; data valid from caller,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_trc.c,321,FP,e is reassigned in while loop (e=Curl_node_next); not const-eligible,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/curl_trc.c,323,FP,Curl_pgrs_now returns properly aligned struct curltime*; no char* misalignment,curl_full_audit_0.4.35,med
ARR02-C,curl,lib/curl_trc.c,334,FP,implicit-bounds string array with initializer; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,361,FP,internal logging fn; data valid,curl_full_audit_0.4.35,high
CON03-C,curl,lib/curl_trc.c,508,FP,trc_feats config table set once at startup via trc_opt; not concurrency defect,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_trc.c,508,FP,implicit-bounds initializer array; size via ARRAYSIZE,curl_full_audit_0.4.35,high
CON03-C,curl,lib/curl_trc.c,537,FP,trc_cfts config table set once at startup; not concurrency defect,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_trc.c,537,FP,implicit-bounds initializer array; size via ARRAYSIZE,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_trc.c,639,FP,config NULL-checked via ternary before trc_opt; param can be NULL safely,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curl_trc.c,645,FP,getenv result explicitly checked: if(dbg_config) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_trc.c,645,FP,DEBUGBUILD-only one-time init read of getenv; no threading concern,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/curl_trc.c,647,FP,trc_opt takes const char* and does not modify the getenv string,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curl_trc.c,653,FP,both #ifdef arms return; all paths covered,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,669,FP,"CURL_DISABLE_VERBOSE stub; data unused-cast, matches exported prototype, const cannot change ABI",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,675,FP,"exported-API stub; prototype fixed, const-param not applicable",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,683,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,689,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,695,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,701,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,708,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,715,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,722,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,729,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,736,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_trc.c,743,FP,exported-API stub; prototype fixed,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_paramhlp.c,27,FP,8-char-filename ambiguity is obsolete DOS concern; FP by convention,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_paramhlp.c,35,FP,config deref guarded; CLI never passes NULL config,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_paramhlp.c,35,FP,outnum is CLI single-thread parse counter; no concurrency,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_paramhlp.c,37,FP,curlx_calloc declared via included curlx headers; macro/inline wrapper,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_paramhlp.c,40,FP,outnum single-threaded CLI arg parsing; no thread visibility issue,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_paramhlp.c,57,FP,"ISCRLF multi-eval of x; arg is always *ptr lvalue, no side effects",curl_full_audit_0.4.35,med
PRE12-C,curl,src/tool_paramhlp.c,57,FP,ISCRLF arg has no side effects at call sites; idiomatic char macro,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_paramhlp.c,69,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_paramhlp.c,69,TP,static memcrlf reads orig only; const char* would be correct,curl_full_audit_0.4.35,low
EXP33-C,curl,src/tool_paramhlp.c,92,FP,buffer filled by fread at 94 before read at 100-101,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_paramhlp.c,94,FP,fread result used; ferror checked immediately after at line 95,curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_paramhlp.c,94,FP,"fread(buffer,1,sizeof) reading bytes; element size 1 is correct",curl_full_audit_0.4.35,high
FIO17-C,curl,src/tool_paramhlp.c,94,FP,"raw byte read into dynbuf, not a C-string; no null-term needed",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,97,FP,"char**/char* deref; categorical STR34 FP, no widening sign-extension bug",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,102,FP,ptr passed to memcrlf as char*; no integer widening of plain char,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_paramhlp.c,105,FP,nlen<=nread by memcrlf contract (counts within max); no underflow,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_paramhlp.c,111,FP,nlen<=nread (memcrlf bounded by passed nread); no wrap,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,116,FP,char** assignment; categorical STR34 FP,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.c,120,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_paramhlp.c,146,FP,fread result used; ferror checked at 147,curl_full_audit_0.4.35,high
ARR38-C,curl,src/tool_paramhlp.c,146,FP,"fread(buffer,1,sizeof) byte read; element size 1 correct",curl_full_audit_0.4.35,high
FIO17-C,curl,src/tool_paramhlp.c,146,FP,"raw byte read into dynbuf, not string",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,150,FP,char** assignment; categorical STR34 FP,curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_paramhlp.c,165,FP,buffer filled by fread at 146; throwaway<nread so &buffer[throwaway] valid,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_paramhlp.c,165,FP,throwaway<nread<=4096 guaranteed by branch at 162; in bounds,curl_full_audit_0.4.35,high
ARR39-C,curl,src/tool_paramhlp.c,172,FP,"endo-offset is plain curl_off_t arithmetic, no sizeof scaling",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,184,FP,char** assignment; categorical STR34 FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,188,FP,char** assignment; categorical STR34 FP,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.c,193,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_paramhlp.c,273,FP,str passed to str2unum which is NULL-tolerant via str2num/DEBUGASSERT chain,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_paramhlp.c,301,FP,implicit-bounds initializer array digs[]; idiomatic,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_paramhlp.c,326,FP,digs[len-1] entries all nonzero powers of ten; len clamped >=1 by loop,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,355,FP,"pointer comparison/index, categorical STR34 FP",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,355,FP,"pointer comparison, categorical STR34 FP",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,369,FP,"pointer comparison, categorical STR34 FP",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,369,FP,"pointer comparison, categorical STR34 FP",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,372,FP,"pointer assignment, categorical STR34 FP",curl_full_audit_0.4.35,high
API00-C,curl,src/tool_paramhlp.c,395,FP,val is const char** read via for(;*val;val++); NULL would loop zero times anyway,curl_full_audit_0.4.35,med
MEM05-C,curl,src/tool_paramhlp.c,400,FP,"protoset[MAX_PROTOS+1] is fixed-size array, not VLA",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_paramhlp.c,417,FP,while(*str) NUL-terminated parse; str bounded by string end and strchr,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_paramhlp.c,433,FP,single-threaded CLI parse; switch(*str++) no double-fetch race,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_paramhlp.c,457,FP,proto_count<=MAX_PROTOS asserted at 402-404; (count+1)*ptr cannot overflow,curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_paramhlp.c,457,FP,"(char*)protoset cast for memcpy dst; copies into local, no const object modified illegally",curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_paramhlp.c,457,FP,duplicate of same memcpy cast finding; same site FP,curl_full_audit_0.4.35,high
EXP05-C,curl,src/tool_paramhlp.c,496,FP,(char*)protoset cast for qsort of local array; not modifying const object,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_paramhlp.c,508,FP,curlx_free declared via included curlx headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,509,FP,char** deref; categorical STR34 FP,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.c,548,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_paramhlp.c,551,FP,conformant-array-syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_paramhlp.c,567,FP,passwd[2048] written by getpass_r at 586; not const-eligible,curl_full_audit_0.4.35,high
MEM03-C,curl,src/tool_paramhlp.c,567,TP,"passwd holds prompted password, not zeroed before scope exit; minor hygiene",curl_full_audit_0.4.35,low
STR34-C,curl,src/tool_paramhlp.c,573,FP,*osep='\0' char store; categorical STR34 FP,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,588,FP,*osep=';' char store; categorical STR34 FP,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_paramhlp.c,594,FP,curlx_free declared via included headers,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_paramhlp.c,595,FP,char** deref assignment; categorical STR34 FP,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_paramhlp.c,605,FP,newlist from curl_slist_append is heap-allocated; *list=newlist stores valid heap ptr not local addr,curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_paramhlp.c,652,FP,isheadersep multi-eval; call site arg head->data[thislen] has no side effects,curl_full_audit_0.4.35,med
PRE12-C,curl,src/tool_paramhlp.c,652,FP,isheadersep arg side-effect-free at call site; idiomatic char macro,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_paramhlp.c,660,FP,strlen on checkfor; no plain-char widening bug,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_paramhlp.c,673,FP,config always valid from CLI caller; members deref'd safely,curl_full_audit_0.4.35,high
MSC41-C,curl,src/tool_paramhlp.c,692,FP,"""host"" is a label string (purpose kind), not a hardcoded credential",curl_full_audit_0.4.35,high
MSC41-C,curl,src/tool_paramhlp.c,696,FP,"""proxy"" is a label string, not a hardcoded credential",curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_paramhlp.c,715,FP,implicit-bounds struct array with initializer; size via ARRAYSIZE,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_paramhlp.c,726,FP,!strcmp string-match idiom; intentional equality test,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/telnet.c,61,FP,Internal macro always called with simple identifier (tn); no multi-eval bug,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/telnet.c,61,FP,Internal macro arg is always plain identifier; precedence not an issue,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/telnet.c,61,FP,Idiomatic internal accessor macro; style advisory only,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/telnet.c,62,FP,Internal macro always called with simple identifier (tn); no multi-eval bug,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/telnet.c,62,FP,Idiomatic internal accessor macro; style advisory only,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/telnet.c,67,FP,Internal macro always called with simple identifier (tn); no multi-eval bug,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/telnet.c,67,FP,Idiomatic internal accessor macro; style advisory only,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/telnet.c,73,FP,Internal macro always called with simple identifier (tn); no multi-eval bug,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/telnet.c,74,FP,Internal macro always called with simple identifier (tn); no multi-eval bug,curl_full_audit_0.4.35,high
PRE12-C,curl,lib/telnet.c,74,FP,Idiomatic internal accessor macro; style advisory only,curl_full_audit_0.4.35,high
API01-C,curl,lib/telnet.c,126,FP,subbuffer access bounds-checked via CURL_SB_ACCUM; idiomatic struct layout,curl_full_audit_0.4.35,med
API05-C,curl,lib/telnet.c,169,FP,Curl never uses C99 array-param syntax; convention FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/telnet.c,169,FP,Signature fixed by Curl_hash_elem_dtor typedef; const cannot be added,curl_full_audit_0.4.35,high
API05-C,curl,lib/telnet.c,169,FP,Curl never uses C99 array-param syntax; convention FP,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/telnet.c,175,FP,Sequential free of distinct struct members in dtor; no UAF,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,195,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,196,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,203,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,204,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,212,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,225,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,253,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,253,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,253,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,255,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,255,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,255,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,264,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,264,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,264,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,267,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,267,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,267,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,276,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,276,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,276,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,281,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,281,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,281,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,288,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,288,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,288,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,294,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,294,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,294,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,299,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,299,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,299,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,304,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,304,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,304,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,310,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,310,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,310,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,312,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,312,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,312,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,326,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,326,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,326,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,328,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,328,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,328,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,337,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,337,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,337,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,340,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,340,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,340,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,349,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,349,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,349,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,354,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,354,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,354,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,361,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,361,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,361,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,367,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,367,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,367,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,372,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,372,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,372,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,377,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,377,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,377,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,383,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,383,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,383,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,385,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,385,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,385,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,413,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,413,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,415,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,415,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,416,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,416,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,429,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,429,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,432,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,432,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,436,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,436,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,437,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,437,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,443,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,443,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,445,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,445,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,448,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,448,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,449,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,449,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,459,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,459,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,459,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,465,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,465,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,465,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,470,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,470,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,470,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,472,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,472,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,472,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,476,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,476,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,476,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,477,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,477,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,477,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,484,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,484,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,484,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,486,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,486,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,486,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,489,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,489,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,489,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,490,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,490,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,490,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
API05-C,curl,lib/telnet.c,499,FP,Curl never uses C99 array-param syntax; convention FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/telnet.c,613,FP,Curl never uses C99 array-param syntax; convention FP,curl_full_audit_0.4.35,high
STR31-C,curl,lib/telnet.c,647,FP,"pfd is struct pollfd[1], not a char string array; misfire",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,648,FP,pfd fields .fd/.events set before Curl_poll reads them,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/telnet.c,694,FP,uc points to 2-byte short; byte-indexed endian access is valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/telnet.c,695,FP,uc points to 2-byte short; byte-indexed endian access is valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/telnet.c,696,FP,uc points to 2-byte short; byte-indexed endian access is valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/telnet.c,697,FP,uc points to 2-byte short; byte-indexed endian access is valid,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,711,FP,err assigned from SOCKERRNO and used only inside same if-block,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,728,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,728,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,730,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,730,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,731,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,731,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,733,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,733,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,737,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,737,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,739,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,739,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,752,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,752,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,755,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,755,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,759,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,759,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,760,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,760,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,766,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,766,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,768,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,768,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,769,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,769,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,775,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,775,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,776,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,776,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,786,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,786,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,786,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,792,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,792,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,792,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,797,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,797,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,797,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,799,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,799,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,799,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,803,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,803,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,803,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,804,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,804,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,804,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,811,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,811,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,811,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,813,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,813,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,813,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,816,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,816,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,816,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,817,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,817,FP,option is int 0-255 (unsigned char from telrcv) indexing [256] arrays; in bounds,curl_full_audit_0.4.35,high
STR00-C,curl,lib/telnet.c,817,FP,"'option' param is declared int, not char; value bounded 0-255",curl_full_audit_0.4.35,high
STR34-C,curl,lib/telnet.c,827,FP,Idiomatic plain-char read in nonascii scan; no real conversion bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/telnet.c,827,FP,Idiomatic plain-char read in nonascii scan; no real conversion bug,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,857,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,860,FP,"head is for-loop init var, guarded non-NULL by loop condition",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,863,FP,arg assigned and used only inside if(sep) block,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,875,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,885,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,895,FP,beg assigned before every use,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,900,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,921,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,935,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,936,FP,Index is small CURL_TELOPT_* constant (<40) into [256] array; in bounds,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,1006,FP,err assigned from SOCKERRNO inside same if-block before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,1034,FP,v assigned in for-init; loop guard ensures defined,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/telnet.c,1034,FP,for(v=...;v;...) guard ensures v non-NULL before deref,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/telnet.c,1042,FP,"curl_msnprintf return value is used (len += ...), not ignored",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,1042,FP,temp filled by msnprintf before any read; bounded by size check,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,1042,FP,len bounded by len+tmplen<sizeof(temp)-6 guard at line 1039,curl_full_audit_0.4.35,high
STR34-C,curl,lib/telnet.c,1045,FP,"vlen is pointer subtraction (s - v->data), not char conversion",curl_full_audit_0.4.35,high
ERR02-C,curl,lib/telnet.c,1046,FP,"curl_msnprintf return value is used (len += ...), not ignored",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/telnet.c,1046,FP,temp filled by msnprintf before any read; bounded by size check,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,1046,FP,len bounded by len+tmplen<sizeof(temp)-6 guard at line 1039,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/telnet.c,1052,FP,len bounded by prior size-check guard; within temp[2048],curl_full_audit_0.4.35,high
API05-C,curl,lib/telnet.c,1068,FP,Curl never uses C99 array-param syntax; convention FP,curl_full_audit_0.4.35,high
PRE02-C,curl,lib/telnet.c,1078,FP,Local helper macro used as full statement; advisory only,curl_full_audit_0.4.35,med
PRE10-C,curl,lib/telnet.c,1078,FP,Macro must return from enclosing fn; cannot be do-while wrapped,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/telnet.c,1208,FP,result assigned at line 1207 immediately before the if(result) test,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/telnet.c,1250,FP,"buffer[4*1024] is a constant-size array, not a VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/telnet.c,1407,FP,buffer filled by Curl_xfer_recv before telrcv reads it,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/telnet.c,1597,FP,"Curl_scheme_telnet is extern, referenced in scheme table; must not be static",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/telnet.c,1597,FP,Exported scheme object; cannot have file-only scope,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vtls/x509asn1.c,97,FP,Array initialized with explicit terminator; implicit size idiomatic,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/x509asn1.c,170,FP,Curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/x509asn1.c,170,FP,Curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,181,FP,beg/end delimit same single ASN.1 buffer; not distinct arrays,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,182,FP,beg/end delimit same single ASN.1 buffer; not distinct arrays,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,182,FP,Readability advisory on pointer arithmetic; idiomatic,curl_full_audit_0.4.35,high
INT08-C,curl,lib/vtls/x509asn1.c,190,FP,b masked into small fixed range; no overflow risk,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,197,FP,beg/end same buffer,curl_full_audit_0.4.35,high
EXP45-C,curl,lib/vtls/x509asn1.c,202,FP,Intentional assign-and-test idiom (b&=0x7F); clear in context,curl_full_audit_0.4.35,med
ARR36-C,curl,lib/vtls/x509asn1.c,208,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,213,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,218,FP,beg/end same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,224,FP,Readability advisory; idiomatic length decode,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,229,FP,beg/end same buffer,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/x509asn1.c,252,FP,!strcmp OID-match idiom; idiomatic,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/x509asn1.c,253,FP,"Returns OIDtable entry (static storage), not local; op is pointer",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/x509asn1.c,263,FP,"getASN1Element is a function, not uninitialized variable; misparse",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,278,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,293,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,316,FP,beg/end same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,316,FP,Readability advisory; idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/x509asn1.c,316,FP,"Reads via (unsigned char*); already unsigned, no sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/x509asn1.c,316,FP,Reads via (unsigned char*) cast; no sign extension,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,330,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,345,FP,from/end same buffer,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,345,FP,Readability advisory; idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/x509asn1.c,345,FP,Reads via (unsigned char*) cast,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/x509asn1.c,345,FP,Reads via (unsigned char*) cast,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,377,FP,from/end same buffer,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/x509asn1.c,401,FP,"'wc' is a local int, not a FILE*; misparse",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/vtls/x509asn1.c,401,FP,"'wc' is a local int, not a FILE*; misparse",curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,433,FP,y/40 readability advisory; idiomatic OID decode,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/x509asn1.c,434,FP,x readability advisory; idiomatic,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,441,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,464,FP,beg/end same buffer,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/x509asn1.c,508,FP,fracp[-2] is pointer-relative within buffer (fracp>=beg+14); valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/x509asn1.c,511,FP,fracp[-1] pointer-relative; valid given switch guard,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,524,FP,"tzp/end same buffer; ""GMT"" attribution is misparse",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,537,FP,tzp/end same buffer; misparse,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,548,FP,tzp in-buffer here (+/- branch); end-tzp same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,552,FP,tzp in-buffer here; end-tzp same buffer,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vtls/x509asn1.c,555,FP,curlx_dyn_addf not restrict; args don't overlap,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/x509asn1.c,565,FP,UNITTESTS wrapper forwarding to GTime2str which bounds-checks,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/x509asn1.c,565,FP,UNITTESTS wrapper; callee handles params,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,588,FP,tzp/sec both in same buffer; literal attribution misparse,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vtls/x509asn1.c,609,FP,curlx_dyn_addf not restrict; no overlap,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/x509asn1.c,621,FP,elem written via ASN1tostr path; vtable-style helper,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vtls/x509asn1.c,676,FP,dn fields read but signature matches helper convention,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vtls/x509asn1.c,692,FP,getASN1Element is a function call; misparse,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/x509asn1.c,782,FP,getASN1Element function call; misparse,curl_full_audit_0.4.35,high
INT07-C,curl,lib/vtls/x509asn1.c,805,FP,defaultVersion=0 const used only as ptr bounds; not numeric op,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,856,FP,tbsCertificate.beg/end same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,863,FP,same buffer,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,871,FP,same buffer,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/x509asn1.c,895,FP,getASN1Element function call; misparse,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/x509asn1.c,901,FP,beg/end same buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/x509asn1.c,918,FP,strlen of value; no signed-char conversion issue,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/x509asn1.c,968,FP,param is output element filled by getASN1Element; not const,curl_full_audit_0.4.35,med
MEM05-C,curl,lib/vtls/x509asn1.c,986,FP,q[] is compile-time constant size (sizeof expr); not VLA,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/x509asn1.c,996,FP,getASN1Element function call; misparse,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vtls/x509asn1.c,996,FP,getASN1Element no restrict; pk/pubkey distinct,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vtls/x509asn1.c,1021,FP,r[] compile-time constant size; not VLA,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/x509asn1.c,1240,FP,certptr set by base64_encode on !result; error path goto done,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vtls/mbedtls.c,108,FP,b used as b[0] array subscript; no precedence issue,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,121,FP,strlen(line); no signed-char widening bug,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,130,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,131,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,150,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,150,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,254,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/vtls/mbedtls.c,267,FP,str/end from same cipher-list string; walk_str invariant,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,267,FP,cipher name chars; benign,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,267,FP,cipher name chars; benign,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,267,FP,cipher name chars; benign,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,267,FP,cipher name chars; benign,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/mbedtls.c,297,FP,curlx_malloc declared in curlx header; misparse,curl_full_audit_0.4.35,high
INT30-C,curl,lib/vtls/mbedtls.c,297,FP,"supported_len is mbedtls cipher count, tiny bounded; no wrap",curl_full_audit_0.4.35,med
INT36-C,curl,lib/vtls/mbedtls.c,334,FP,(int)(end-ptr) is ptrdiff for printf width; not ptr storage,curl_full_audit_0.4.35,high
INT36-C,curl,lib/vtls/mbedtls.c,344,FP,(int)(end-ptr) printf width; not pointer storage,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/mbedtls.c,378,FP,curlx_free declared in header; misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,402,FP,"strcspn use; p is char* buffer scan, benign",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,454,FP,conn_config from cf_get_primary_config returns non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,479,FP,conn_config non-NULL in this backend path,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/mbedtls.c,486,FP,"cf->ctx cast chain; properly aligned struct, not char*",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/mbedtls.c,578,FP,alignment misparse on cf->ctx cast,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,579,FP,ssl_config from cf_get_config non-NULL,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/mbedtls.c,657,FP,alignment misparse on cf->ctx cast,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,663,FP,ssl_config non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,701,FP,else-branch implies key_blob non-NULL (guarded by if at 663),curl_full_audit_0.4.35,high
MEM03-C,curl,lib/vtls/mbedtls.c,702,FP,"passwd is borrowed ssl_config->key_passwd, not owned buffer",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/mbedtls.c,744,FP,alignment misparse on cf->ctx cast,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,745,FP,ssl_config non-NULL,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/mbedtls.c,753,FP,"ssl_crlfile is char*; used as filename, no char widening",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/mbedtls.c,786,FP,alignment misparse on cf->ctx cast,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/mbedtls.c,838,FP,mbed_set_ssl_version_min_max defined above; declared,curl_full_audit_0.4.35,high
INT32-C,curl,lib/vtls/mbedtls.c,852,FP,"ret is mbedtls negative errcode, never INT_MIN; display only",curl_full_audit_0.4.35,high
INT32-C,curl,lib/vtls/mbedtls.c,903,FP,-ret on mbedtls errcode; never INT_MIN,curl_full_audit_0.4.35,high
INT32-C,curl,lib/vtls/mbedtls.c,908,FP,-ret on mbedtls errcode; never INT_MIN,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,978,FP,conn_config non-NULL,curl_full_audit_0.4.35,high
INT30-C,curl,lib/vtls/mbedtls.c,1107,FP,size guarded >0 and <=PUB_DER_MAX_BYTES; no underflow,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/mbedtls.c,1110,FP,mbedtls_x509_crt_free(p) frees internals; curlx_free(p) frees once,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/mbedtls.c,1110,FP,crt_free frees fields not p; single free of p; no double-free,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/mbedtls.c,1113,FP,p and pubkey freed at lines 1109-1111 before return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/mbedtls.c,1125,FP,"p,pubkey freed before this return",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/mbedtls.c,1132,FP,"p,pubkey freed at pinnedpubkey_error before return",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/mbedtls.c,1189,FP,sc_session set only when !result; Curl_ssl_session_create guards,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1199,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/mbedtls.c,1347,FP,cf/data are vtable callback signature; fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/mbedtls.c,1347,FP,vtable callback signature; const cannot be added,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/mbedtls.c,1363,FP,"config freed here is distinct member; ciphersuites freed prior, no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/mbedtls.c,1364,FP,ssl is distinct member; not the freed ciphersuites,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1370,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/mbedtls.c,1416,FP,both #ifdef arms return; all paths covered,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1416,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/mbedtls.c,1429,FP,data is vtable callback signature; fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1430,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/mbedtls.c,1540,FP,cf vtable callback signature; fixed by typedef,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/mbedtls.c,1552,FP,both #ifdef arms return a value; covered,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1552,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/mbedtls.c,1554,FP,Curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/mbedtls.c,1572,FP,connssl deref'd to backend; helper not vtable but reads only,curl_full_audit_0.4.35,med
EXP00-C,curl,lib/vtls/mbedtls.c,1585,FP,SSLSUPP flag OR with #ifdef interleave; precedence not ambiguous,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/mbedtls.c,243,FP,mbedtls_ssl_conf_min_tls_version declared in mbedtls/ssl.h; misparse,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/mbedtls.c,244,FP,mbedtls_ssl_conf_max_tls_version declared in mbedtls/ssl.h; misparse,curl_full_audit_0.4.35,high
API05-C,curl,lib/altsvc.c,65,FP,Advisory C99 array-param style; curl never uses it. Categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/altsvc.c,67,FP,Advisory C99 array-param style; categorical FP.,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/altsvc.c,96,FP,"(char*)as + sizeof(struct) is byte offset, char* not scaled. No double scaling.",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/altsvc.c,100,FP,"char* pointer arithmetic; sizeof gives byte offset, correct flexible-tail layout.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/altsvc.c,109,FP,"'as' is calloc'd heap memory, not automatic storage. Misread.",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/altsvc.c,123,FP,curlx_str/curlx_strlen are pure accessors; no unsequenced side effects.,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/altsvc.c,145,FP,"Intentional parse-chain idiom; empty if body, work done in else branch.",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/altsvc.c,166,FP,"dbuf is fixed-size from MAX_ALTSVC_DATELEN, not from getenv. Bound enforced by parser.",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/altsvc.c,166,FP,"dbuf is compile-time fixed-size array, not a VLA.",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/altsvc.c,171,FP,memcpy args are pure accessors; no unsequenced side effects.,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/altsvc.c,174,FP,"'as' appended to asi->list, owned and freed by Curl_altsvc_cleanup. Not leaked.",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/altsvc.c,186,FP,On null 'as' nothing allocated; on success appended to list. No leak.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,206,FP,"free(asi->filename) then strdup-reassign; classic free-then-realloc, not UAF.",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/altsvc.c,209,FP,fp closed via curlx_fclose(fp) at line 224 on all paths where opened.,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/altsvc.c,209,FP,fopen not open(); fp closed at 224. Duplicate misfire.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/altsvc.c,233,FP,altsvc_out reads as->* only but matches no const convention; curl idiom non-const.,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/altsvc.c,246,FP,inet_pton documented to return exactly 1 on success; ==1 is correct.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/altsvc.c,250,FP,inet_pton returns 1 on success; ==1 correct test.,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/altsvc.c,256,FP,printf-arg Curl_alpnid2str calls are pure; no unsequenced writes.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/altsvc.c,270,FP,stamp filled by curlx_gmtime on success path before use; early-return on error.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,304,FP,Thin wrapper with DEBUGASSERT(asi); delegates to altsvc_load. Categorical FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,304,FP,file passed through to altsvc_load which strdup-copies; wrapper. FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,313,FP,DEBUGASSERT(data) present; thin ctrl. FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,352,FP,"data only used in Curl_fopen; DEBUGASSERT not needed, asi guarded. FP.",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/altsvc.c,371,FP,out closed via curlx_fclose(out) at line 385 on the success-open branch.,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/altsvc.c,371,FP,Curl_fopen not open(); out closed at 385. Duplicate misfire.,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/altsvc.c,375,FP,"Adjacent string-literal concatenation, no preprocessor directive in args.",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/altsvc.c,375,FP,"String literal contains '#' as text, not a preprocessor directive.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/altsvc.c,377,FP,out non-NULL inside if(!result) guard after Curl_fopen succeeded.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/altsvc.c,401,FP,strlen(host) takes char*; no char-to-int sign-extension at this call.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/altsvc.c,402,FP,strlen(check); no signed-char widening here.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/altsvc.c,434,FP,unused is a callback-signature param (void*) cast to void; const irrelevant.,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/altsvc.c,436,FP,[adv] getenv result used in if(timestr) guard immediately; technically checked. Borderline; debug-only.,curl_full_audit_0.4.35,adversarial-flip
CON34-C,curl,lib/altsvc.c,436,FP,"getenv static-storage; single-threaded debug helper, value used immediately. FP.",curl_full_audit_0.4.35,med
ENV30-C,curl,lib/altsvc.c,440,FP,"curlx_str_number advances a local pointer copy, does not modify env string contents.",curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,460,FP,DEBUGASSERT(asi) at 471; internal caller always passes valid asi. FP.,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/altsvc.c,540,FP,vp assigned curlx_str(&val) at 551 before any use at 552.,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/altsvc.c,578,FP,altsvc_createid args are pure accessors (strlen/curlx_str); no side effects.,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/altsvc.c,584,FP,"time(NULL) for cache expiry; (time_t)-1 harmless here, idiomatic uncheck.",curl_full_audit_0.4.35,med
EXP30-C,curl,lib/altsvc.c,593,FP,infof printf-style; arg accessors pure. No unsequenced side effects.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,624,FP,DEBUGASSERT(asi/srchost/dstentry) present; internal entry point. FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,624,FP,srchost DEBUGASSERTed; FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,624,FP,dstentry DEBUGASSERTed; FP.,curl_full_audit_0.4.35,high
API00-C,curl,lib/altsvc.c,624,FP,psame_destination written unconditionally at 638; internal caller. FP.,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/altsvc.c,633,FP,"time(NULL) for expiry comparison; idiomatic uncheck, -1 benign.",curl_full_audit_0.4.35,med
MEM30-C,curl,lib/altsvc.c,648,FP,free at 645 only in expired branch followed by continue; match block on un-freed 'as'.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,648,FP,Free is in disjoint continue branch; no UAF on this 'as'.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,649,FP,hostcompare(as->src.host) reached only when not freed (expired branch continues).,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,649,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,649,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,650,FP,as->src.port read on un-freed object; free path continues earlier.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,650,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,651,FP,as->dst.alpnid read on un-freed object; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,651,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,654,FP,as->dst.port read on un-freed object; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,654,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,655,FP,hostcompare(as->dst.host) on un-freed object; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,655,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/altsvc.c,655,FP,Disjoint free branch; not UAF.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.c,32,FP,Advisory C99 array-param style; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.c,40,FP,Advisory C99 array-param style; categorical FP.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,43,FP,"const char *s = *linep is pointer copy, no char widening at assignment.",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,49,FP,s walks a NUL-terminated string buffer; pointer increment is idiomatic and bounded by *s/max.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,56,FP,"out->str = *linep pointer assignment, not char widening.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,56,FP,"Pointer assignment, no sign extension. Duplicate.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/strparse.c,58,FP,"*linep = s points into caller-owned buffer, not a local's address.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,58,FP,*linep = s pointer assignment; no char widening.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.c,64,FP,Advisory array-param style; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.c,71,FP,Advisory array-param style; categorical FP.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,74,FP,"Pointer copy assignment, no char widening.",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,80,FP,s walks NUL-terminated buffer; bounded by *s and max counter.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,86,FP,"Pointer assignment, no sign extension.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,86,FP,Pointer assignment. Duplicate.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/strparse.c,88,FP,"*linep = s points into caller buffer, not local address.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,88,FP,"Pointer assignment, no char widening.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strparse.c,94,FP,Advisory array-param style; categorical FP.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,97,FP,"Pointer copy assignment, no char widening.",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,104,FP,s walks quoted string; bounded by *s and max.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curlx/strparse.c,105,FP,Loop bounded by *s NUL terminator and ++len>max check; not unbounded.,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,106,FP,s[1] reads next byte of escaped-quote pair inside NUL-bounded string.,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,107,FP,s++ over escape char inside bounded string scan.,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,111,FP,"s++ idiomatic string walk, bounded.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,119,FP,"out->str = (*linep)+1 pointer arithmetic, no char widening.",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,119,FP,*linep = s+1 advances within NUL-terminated buffer; idiomatic.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curlx/strparse.c,142,FP,valid_digit args are *p (no side effects at call sites); multiple-eval harmless. Advisory.,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curlx/strparse.c,142,FP,Macro multiple-eval of x; all call sites pass *p (no side effect). Idiomatic.,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/curlx/strparse.c,148,FP,curlx_hexasciitable is referenced by curlx_hexval in other TU; needs external linkage.,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curlx/strparse.c,148,FP,Shared lookup table needs file/external scope; cannot narrow.,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curlx/strparse.c,148,FP,"Initializer-sized const table; explicit bound advisory, indexing guarded by macro.",curl_full_audit_0.4.35,med
STR34-C,curl,lib/curlx/strparse.c,168,FP,"p = *linep pointer assignment, no char widening.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,168,FP,Pointer assignment; no sign extension. Duplicate.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curlx/strparse.c,169,FP,valid_digit guards index x-'0' with x>='0'&&x<=m(<='f'); within 55-elem table.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,174,FP,"curlx_hexval(*p) takes char; widening masked by table lookup, value 0-15. Benign.",curl_full_audit_0.4.35,med
ARR37-C,curl,lib/curlx/strparse.c,174,FP,p++ walks digit string bounded by valid_digit loop condition.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,174,FP,hexval arg widening benign; duplicate of same site.,curl_full_audit_0.4.35,med
INT32-C,curl,lib/curlx/strparse.c,175,FP,max<base branch: num bounded by max(<base<=16); product cannot overflow.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curlx/strparse.c,178,FP,valid_digit guard bounds table index; safe.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,182,FP,hexval arg widening benign; value 0-15.,curl_full_audit_0.4.35,med
ARR37-C,curl,lib/curlx/strparse.c,182,FP,p++ bounded by valid_digit loop condition.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,182,FP,Duplicate widening at same site; benign.,curl_full_audit_0.4.35,med
INT33-C,curl,lib/curlx/strparse.c,183,FP,"base is 8/10/16 (DEBUGASSERTed), never zero. No div-by-zero.",curl_full_audit_0.4.35,high
INT32-C,curl,lib/curlx/strparse.c,185,FP,Overflow checked BEFORE add via num>((max-n)/base) at line 183. Proper guard.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curlx/strparse.c,186,FP,valid_digit guard bounds index; safe.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/strparse.c,189,FP,"*linep = p points into caller buffer, not local address.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,189,FP,"Pointer assignment, no char widening.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curlx/strparse.c,239,FP,str (struct Curl_str*) is read-only here but matches no const convention; could be const but idiomatic non-const.,curl_full_audit_0.4.35,med
STR34-C,curl,lib/curlx/strparse.c,241,FP,strlen(check) takes char*; no char-to-int widening here.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,241,FP,No signed-char widening at strnequal call.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curlx/strparse.c,247,FP,str read-only but non-const idiom; cosmetic.,curl_full_audit_0.4.35,med
STR34-C,curl,lib/curlx/strparse.c,250,FP,strlen(check); no char widening.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/strparse.c,251,FP,!strncmp boolean idiom for match; idiomatic and correct.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,273,FP,"out->str = s pointer assignment, no char widening.",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/curlx/strparse.c,281,FP,*linep = &s[len] / out->str = s are pointer assignments; no flexible-array struct copy.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,281,FP,"Pointer assignment, no char widening.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,281,FP,"&s[len] address-of, no char widening.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strparse.c,281,FP,"Pointer arithmetic, no sign extension.",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/curlx/strparse.c,281,FP,&s[len] computes end pointer of scanned span; bounded by strcspn result.,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,43,FP,curlx_free is declared via curl alloc-wrapper header; sqc can't resolve macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,44,FP,curlx_free declared in header; macro-wrapper opacity,curl_full_audit_0.4.35,high
API05-C,curl,src/var.c,48,FP,curl never uses C99 array-param syntax; style advisory,curl_full_audit_0.4.35,high
EXP20-C,curl,src/var.c,52,FP,idiomatic !strncmp boolean test in list match,curl_full_audit_0.4.35,high
DCL30-C,curl,src/var.c,53,FP,"returns heap list node pointer, not automatic-storage local",curl_full_audit_0.4.35,high
PRE00-C,curl,src/var.c,60,FP,ENDOFFUNC multi-eval but args side-effect-free constants,curl_full_audit_0.4.35,low
PRE12-C,curl,src/var.c,60,FP,macro multi-eval; called only with side-effect-free args,curl_full_audit_0.4.35,low
PRE00-C,curl,src/var.c,61,FP,"FUNCMATCH multi-eval; args are constants, no side effects",curl_full_audit_0.4.35,low
PRE01-C,curl,src/var.c,61,FP,"len used in strncmp arg and index; constant args, no precedence bug",curl_full_audit_0.4.35,low
PRE12-C,curl,src/var.c,61,FP,macro multi-eval; constant-len call sites,curl_full_audit_0.4.35,low
API05-C,curl,src/var.c,75,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,src/var.c,77,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,86,FP,while(*f) bounded by NUL terminator of function string,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,94,FP,"ptr[len] after strncmp match; within string, macro-opacity",curl_full_audit_0.4.35,high
EXP34-C,curl,src/var.c,99,FP,c NULL only when clen==0; guarded by if(clen),curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,113,FP,macro FUNCMATCH bounded access; opacity,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,123,FP,macro FUNCMATCH bounded access; opacity,curl_full_audit_0.4.35,high
EXP33-C,curl,src/var.c,127,FP,enc initialized at declaration from curl_easy_escape,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,141,FP,macro FUNCMATCH bounded access; opacity,curl_full_audit_0.4.35,high
EXP05-C,curl,src/var.c,147,FP,char* to uint8_t* cast; no const removed (c is non-const),curl_full_audit_0.4.35,high
EXP33-C,curl,src/var.c,154,FP,elen filled by base64_encode; read only after success check,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,161,FP,macro FUNCMATCH bounded access; opacity,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,189,FP,curlx_free macro-wrapper; declared in header,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,200,FP,curlx_free macro-wrapper; declared in header,curl_full_audit_0.4.35,high
MEM30-C,curl,src/var.c,200,FP,c reassigned to fresh memdup0 after each loop free; not double-free,curl_full_audit_0.4.35,high
ARR36-C,curl,src/var.c,216,FP,envp and line both point into same string from strstr,curl_full_audit_0.4.35,high
ARR00-C,curl,src/var.c,216,FP,envp[-1] accessed only when envp>line; index valid,curl_full_audit_0.4.35,high
EXP34-C,curl,src/var.c,216,FP,envp NULL-checked via short-circuit (envp>line),curl_full_audit_0.4.35,high
ARR36-C,curl,src/var.c,220,FP,same-string pointer subtraction envp-line,curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,228,FP,"misparse: line=&envp[2] is pointer assignment, no char widening",curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,228,FP,misparse of pointer arithmetic; no sign extension,curl_full_audit_0.4.35,high
ENV01-C,curl,src/var.c,231,FP,"name[] holds variable name, not getenv result",curl_full_audit_0.4.35,high
EXP33-C,curl,src/var.c,231,FP,name[] filled by memcpy before read at line 271,curl_full_audit_0.4.35,high
ARR36-C,curl,src/var.c,256,FP,same-string pointer subtraction,curl_full_audit_0.4.35,high
ARR30-C,curl,src/var.c,268,FP,nlen<sizeof(name) enforced at line 253 before name[nlen],curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,295,FP,clp/funcp are char* pointers; subtraction not char widening,curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,295,FP,pointer subtraction misparse,curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,321,FP,misparse: line=&clp[2] pointer assignment,curl_full_audit_0.4.35,high
STR34-C,curl,src/var.c,321,FP,pointer arithmetic misparse,curl_full_audit_0.4.35,high
API05-C,curl,src/var.c,342,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,src/var.c,344,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,354,FP,curlx_calloc macro-wrapper; declared in header,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,367,FP,curlx_free macro-wrapper; declared in header,curl_full_audit_0.4.35,high
ENV01-C,curl,src/var.c,383,FP,"buf[] holds copied var name (bounded nlen<MAX_VAR_LEN), not getenv result",curl_full_audit_0.4.35,high
ARR36-C,curl,src/var.c,394,FP,line and name both within input string,curl_full_audit_0.4.35,high
EXP43-C,curl,src/var.c,404,FP,buf is separate stack array; name in input; no overlap,curl_full_audit_0.4.35,high
STR31-C,curl,src/var.c,404,FP,explicit buf[nlen]=0 null-terminates next line,curl_full_audit_0.4.35,high
ENV34-C,curl,src/var.c,408,FP,getenv result consumed immediately and copied via memdup0 in addvariable,curl_full_audit_0.4.35,med
CON34-C,curl,src/var.c,408,FP,curl CLI single-thread; duplicate of getenv concern,curl_full_audit_0.4.35,high
EXP15-C,curl,src/var.c,434,FP,intentional empty if(content); part of else-if chain,curl_full_audit_0.4.35,high
EXP20-C,curl,src/var.c,442,FP,"idiomatic !strcmp(line,""-"") test",curl_full_audit_0.4.35,high
FIO42-C,curl,src/var.c,446,FP,file closed at line 460-461 (curlx_fclose when not stdin),curl_full_audit_0.4.35,high
FIO42-C,curl,src/var.c,446,FP,FILE* closed via curlx_fclose; not an fd,curl_full_audit_0.4.35,high
ENV30-C,curl,src/var.c,455,FP,"content here is NULL/file-filled, not getenv (mutually-exclusive branch)",curl_full_audit_0.4.35,high
INT30-C,curl,src/var.c,476,FP,clen-1 only when startoffset<clen so clen>0; bounded by strlen,curl_full_audit_0.4.35,high
INT30-C,curl,src/var.c,477,FP,offsets bounded by strlen; no practical wrap,curl_full_audit_0.4.35,high
DCL31-C,curl,src/var.c,489,FP,curlx_free macro-wrapper; declared in header,curl_full_audit_0.4.35,high
ENV30-C,curl,src/var.c,489,FP,"content freed here is contalloc heap, not getenv pointer",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/digest_sspi.c,84,FP,internal auth fn; callers pass valid data; chlg used after len-check,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/digest_sspi.c,84,FP,internal auth fn; service guaranteed non-NULL by callers,curl_full_audit_0.4.35,med
EXP43-C,curl,lib/vauth/digest_sspi.c,157,FP,Windows SSPI AcquireCredentialsHandle signature; distinct params,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/digest_sspi.c,242,FP,internal helper; chlg traversed safely with while(*chlg),curl_full_audit_0.4.35,med
ENV01-C,curl,lib/vauth/digest_sspi.c,250,FP,"value[] is digest-pair parse buffer, not getenv result",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vauth/digest_sspi.c,251,FP,"content[] is digest-pair parse buffer, not getenv result",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest_sspi.c,263,FP,domain assigned from convert_UTF8_to_tchar before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest_sspi.c,267,FP,dup_domain assigned from tcsdup before use,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/digest_sspi.c,312,FP,strlen(chlg) used; internal caller guarantees non-NULL,curl_full_audit_0.4.35,med
STR34-C,curl,lib/vauth/digest_sspi.c,315,FP,misparse: strlen(chlg) not a char-to-int assignment,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vauth/digest_sspi.c,325,FP,"value[] digest-pair buffer, not getenv",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vauth/digest_sspi.c,326,FP,"content[] digest-pair buffer, not getenv",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest_sspi.c,384,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest_sspi.c,385,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest_sspi.c,386,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest_sspi.c,387,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/digest_sspi.c,389,FP,style advisory; curl convention,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,436,FP,"Curl_safefree nulls ptr; if() reads NULL, not freed memory",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,447,FP,chlg_buf is SecBuffer[5]; index 2 valid; sqc misread size as 2,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,448,FP,chlg_buf[5]; index 2 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,449,FP,chlg_buf[5]; index 3 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,450,FP,chlg_buf[5]; index 3 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,451,FP,chlg_buf[5]; index 3 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,452,FP,chlg_buf[5]; index 4 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,453,FP,chlg_buf[5]; index 4 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,454,FP,chlg_buf[5]; index 4 valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,456,FP,http_context non-NULL & valid in this branch; not freed,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,459,FP,chlg_buf[5]; index 4 valid,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/digest_sspi.c,459,FP,chlg_buf[4].cbBuffer set at 454 / by MakeSignature before read,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,462,FP,http_context valid here; deleted then safefreed (nulled),curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,463,FP,Curl_safefree nulls; subsequent if() guards reuse,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,467,FP,"reads NULL after safefree; guard, not freed-memory access",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,477,FP,Curl_safefree nulls user; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,478,FP,Curl_safefree nulls passwd; not double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,488,FP,"input_token read (memdup'd in decode), not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,505,FP,digest->user just assigned via strdup; read not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,515,FP,digest->passwd just assigned via strdup; read not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,518,FP,Curl_safefree nulls; safe re-free,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vauth/digest_sspi.c,524,FP,Windows SSPI AcquireCredentialsHandle signature; distinct params,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,541,FP,input_token valid (memdup'd); read into buffer,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,542,FP,"input_token_len is size_t value, not freed pointer",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,546,FP,chlg_buf[5]; index 2 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,547,FP,chlg_buf[5]; index 2 valid,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vauth/digest_sspi.c,548,FP,chlg_buf[5]; index 2 valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,570,FP,http_context just calloc'd at 569; not freed,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/digest_sspi.c,575,FP,output_token freed at 574 before return; http_context owned by digest,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,583,FP,http_context valid here (just created); InitializeSecurityContext arg,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,598,FP,Curl_safefree nulls; single free,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/digest_sspi.c,601,FP,output_token freed at 596; http_context safefreed at 598,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/digest_sspi.c,606,FP,output_token freed at 596 before return,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/digest_sspi.c,618,FP,output_token freed at 616 before this return,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vauth/digest_sspi.c,622,FP,"resp is heap memdup0, not local address; valid to return via outptr",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/digest_sspi.c,622,FP,misparse: *outptr=resp is pointer assignment,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/digest_sspi.c,624,FP,output_token freed at 616; resp ownership transferred to caller,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,646,FP,http_context valid in cleanup; deleted then safefreed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/digest_sspi.c,647,FP,http_context passed to DeleteSecurityContext before free; valid,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/getinfo.c,70,FP,curlx_free declared via included header (curlx); macro/header-opaque to sqc,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/getinfo.c,73,FP,curlx_free declared via included header; not an implicit declaration,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,93,FP,param_charp NULL-guarded by caller (Curl_getinfo line 640) before call,curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,93,FP,"*param_charp is char* pointer assignment, not signed-char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,123,FP,"pointer assignment to char**, no char sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,127,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
EXP40-C,curl,lib/getinfo.c,130,FP,assigns pointer value via explicit cast; not modifying a const object,curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,130,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,138,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,143,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,147,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,151,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,156,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,160,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,162,FP,"pointer assignment of NULL, not char widening",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/getinfo.c,165,FP,case label after break is reachable via switch dispatch; not dead code,curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,166,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,170,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,172,FP,"pointer assignment of NULL, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,177,FP,"pointer assignment, not char widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/getinfo.c,179,FP,"pointer assignment of NULL, not char widening",curl_full_audit_0.4.35,high
ENV34-C,curl,lib/getinfo.c,205,FP,getenv value consumed immediately in DEBUGBUILD; not stored long-term,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/getinfo.c,205,FP,return checked by if(envstr) on next line before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/getinfo.c,205,FP,debug-only build path; documented single-thread use,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/getinfo.c,208,FP,"curlx_str_number advances a local cursor copy, does not mutate env string",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,209,FP,param_longp NULL-guarded by caller (line 645) before call,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/getinfo.c,215,FP,getenv consumed immediately in DEBUGBUILD,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/getinfo.c,215,FP,return checked by if(envstr) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/getinfo.c,215,FP,debug-only path; single-thread documented,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/getinfo.c,218,FP,"str_number advances local cursor copy, does not modify env data",curl_full_audit_0.4.35,high
WIN04-C,curl,lib/getinfo.c,239,FP,"LONG_MIN is a constant macro, not a function pointer being stored",curl_full_audit_0.4.35,high
DCL37-C,curl,lib/getinfo.c,239,FP,"LONG_MIN is standard limits.h macro, not a reserved-identifier misuse",curl_full_audit_0.4.35,high
DCL01-C,curl,lib/getinfo.c,243,FP,"no shadow; param_longp is the function param, not redeclared here",curl_full_audit_0.4.35,med
MSC07-C,curl,lib/getinfo.c,245,FP,"case label after break is reachable switch target, not dead code",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/getinfo.c,384,FP,data dereffed/passed to fns expecting non-const; matches sibling getinfo_* signatures,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/getinfo.c,401,FP,getenv consumed immediately in DEBUGBUILD,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/getinfo.c,401,FP,return checked by if(envstr) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/getinfo.c,401,FP,debug-only path; single-thread documented,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/getinfo.c,404,FP,str_number advances local cursor copy,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,405,FP,param_offt NULL-guarded by caller (line 655) before call,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/getinfo.c,484,FP,data passed to non-const sinks; uniform getinfo_* signature,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/getinfo.c,500,FP,getenv consumed immediately in DEBUGBUILD,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/getinfo.c,500,FP,return checked by if(envstr) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/getinfo.c,500,FP,debug-only path; single-thread documented,curl_full_audit_0.4.35,high
ENV30-C,curl,lib/getinfo.c,503,FP,str_number advances local cursor copy,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,504,FP,param_doublep NULL-guarded by caller (line 650),curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,504,FP,curl_off_t to double widening; no precision/range loss path of concern,curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,532,FP,"curl_off_t to double cast of size counter; idiomatic, no range issue",curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,535,FP,size counter to double; no overflow risk,curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,538,FP,speed counter to double; no range issue,curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,541,FP,speed counter to double; no range issue,curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,545,FP,total_size to double; no range issue,curl_full_audit_0.4.35,high
FLP34-C,curl,lib/getinfo.c,549,FP,total_size to double; no range issue,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,572,FP,param_slistp NULL-guarded by caller (line 660),curl_full_audit_0.4.35,high
EXP34-C,curl,lib/getinfo.c,610,FP,param_socketp NULL-guarded by caller (line 665),curl_full_audit_0.4.35,high
DCL38-C,curl,lib/memdebug.c,40,FP,"mem[1] is intentional max-alignment union, not a flexible array member",curl_full_audit_0.4.35,high
STR31-C,curl,lib/memdebug.c,44,FP,"union member, not a string buffer; not used for string storage",curl_full_audit_0.4.35,high
CON03-C,curl,lib/memdebug.c,58,FP,"debug-only tool, documented single-thread use; lock infra exists where needed",curl_full_audit_0.4.35,med
CON03-C,curl,lib/memdebug.c,59,FP,debug-only single-thread tool; memlimit set once at init,curl_full_audit_0.4.35,med
CON03-C,curl,lib/memdebug.c,60,FP,debug-only single-thread tool,curl_full_audit_0.4.35,med
CON03-C,curl,lib/memdebug.c,66,FP,memwidx guarded under curl_dbg_lock for realloc path; debug tool,curl_full_audit_0.4.35,med
CON03-C,curl,lib/memdebug.c,69,FP,init-once flag in debug tool,curl_full_audit_0.4.35,med
ERR00-C,curl,lib/memdebug.c,106,FP,best-effort log flush at atexit cleanup; nothing actionable on error,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/memdebug.c,106,FP,"atexit log-flush; partial write unrecoverable, debug-only",curl_full_audit_0.4.35,med
FIO18-C,curl,lib/memdebug.c,106,FP,"membuf is binary log accumulator; memwidx is correct byte count, not a C string",curl_full_audit_0.4.35,high
ERR00-C,curl,lib/memdebug.c,108,FP,"fclose at atexit cleanup; nothing to recover, debug-only",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/memdebug.c,108,FP,"atexit cleanup fclose; unactionable error, debug-only",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/memdebug.c,120,FP,error_bt_callback matches libbacktrace callback typedef; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/memdebug.c,130,FP,full_callback matches libbacktrace backtrace_full callback typedef; fixed,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/memdebug.c,142,FP,btstate is a static (zero-init); set by backtrace_create_state before dump_bt,curl_full_audit_0.4.35,high
ERR07-C,curl,lib/memdebug.c,157,FP,setbuf used intentionally to disable buffering in debug log; idiomatic,curl_full_audit_0.4.35,med
EXP43-C,curl,lib/memdebug.c,167,FP,backtrace_create_state args are distinct; no aliased restrict output/input,curl_full_audit_0.4.35,high
CON07-C,curl,lib/memdebug.c,184,FP,countcheck compound op on debug-tool statics; single-thread documented,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/memdebug.c,196,FP,"fflush before potential crash; best-effort debug flush, unactionable",curl_full_audit_0.4.35,med
API00-C,curl,lib/memdebug.c,208,FP,"DEBUGASSERT guards size!=0; wrapper passes to real malloc, no overflow arith",curl_full_audit_0.4.35,high
API05-C,curl,lib/memdebug.c,209,FP,curl convention; no C99 array-param syntax used project-wide,curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,235,FP,calloc wrapper; DEBUGASSERT guards; product computed but matches real calloc,curl_full_audit_0.4.35,med
API00-C,curl,lib/memdebug.c,235,FP,calloc wrapper for wanted_size; debug allocator passes through,curl_full_audit_0.4.35,med
API05-C,curl,lib/memdebug.c,237,FP,curl convention; no conformant array syntax,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/memdebug.c,285,FP,"returns mem (heap from curl_dbg_malloc), not address of automatic storage",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/memdebug.c,305,FP,"memcpy size is strlen(str)+1 of source, fits allocated len; bounded",curl_full_audit_0.4.35,high
STR31-C,curl,lib/memdebug.c,305,FP,len includes +1 for null terminator; strdup copies full string,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/memdebug.c,311,FP,"returns mem (heap), not automatic storage; wcsdup path",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,317,FP,realloc wrapper; DEBUGASSERT guards size; passes to real realloc,curl_full_audit_0.4.35,med
API05-C,curl,lib/memdebug.c,317,FP,curl convention; no conformant array syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/memdebug.c,318,FP,curl convention; no conformant array syntax,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/memdebug.c,341,FP,"offsetof yields byte offset; pointer arith on char* is correct, no double scaling",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/memdebug.c,351,FP,"mem here is realloc RESULT (new block), not freed old pointer; valid access",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/memdebug.c,356,FP,returns mem->mem of realloc result block; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/memdebug.c,356,FP,"mem is live realloc result, no use-after-free",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/memdebug.c,376,FP,"offsetof byte offset on char*; correct unwrap, no double scaling",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,466,FP,"source is optional log tag, NULL-tolerant by design; not dereffed unguarded",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,472,FP,mode passed straight to fopen which handles it; thin wrapper,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/memdebug.c,481,FP,"res is a FILE* value from fopen, not address of automatic storage",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,484,FP,"mode/fh passed straight to freopen; thin wrapper, no own deref",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,484,FP,fh passed through to freopen; thin wrapper,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/memdebug.c,493,FP,"res is FILE* return value, not automatic storage address",curl_full_audit_0.4.35,high
API00-C,curl,lib/memdebug.c,496,FP,mode passed through to fdopen; thin wrapper,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/memdebug.c,504,FP,"res is FILE* return value, not automatic storage address",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/memdebug.c,517,FP,fclose result captured in res and returned to caller for checking,curl_full_audit_0.4.35,med
ERR00-C,curl,lib/memdebug.c,517,FP,res is returned to caller; error handling delegated up the stack,curl_full_audit_0.4.35,med
CON07-C,curl,lib/memdebug.c,525,FP,memwidx op under lock in realloc path; debug-only single-thread tool,curl_full_audit_0.4.35,med
STR34-C,curl,lib/memdebug.c,528,FP,"fmt passed as printf format string, not widened to integer",curl_full_audit_0.4.35,high
ERR00-C,curl,lib/memdebug.c,536,FP,"debug log flush; partial write unrecoverable, best-effort",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/memdebug.c,536,FP,debug log fwrite; unactionable on short write,curl_full_audit_0.4.35,med
FIO18-C,curl,lib/memdebug.c,536,FP,"membuf is binary accumulator; memwidx is correct byte count, not a string",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/memdebug.c,536,FP,membuf is static (zero-init) and filled by memcpy before any fwrite,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/memdebug.c,536,FP,callers (curl_dbg_log/_locked) return early if curl_dbg_logfile is NULL,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/memdebug.c,537,FP,"debug log fflush; best-effort, unactionable",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/memdebug.c,544,FP,buf filled by curl_mvsnprintf before memcpy reads nchars bytes,curl_full_audit_0.4.35,high
INT33-C,curl,lib/tftp.c,186,FP,"retry_max clamped to [3,50] at lines 179-183; never zero",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/tftp.c,195,FP,"time(NULL) used as relative timer baseline; curl never checks, failure impossible in practice",curl_full_audit_0.4.35,med
API05-C,curl,lib/tftp.c,230,FP,conformant-array-syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
API05-C,curl,lib/tftp.c,236,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/tftp.c,237,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/tftp.c,237,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,246,FP,"*option=buf is pointer assignment (char**), no sign extension",curl_full_audit_0.4.35,high
MEM33-C,curl,lib/tftp.c,253,FP,"*value=&buf[..] pointer assignment, not flexible-array copy",curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,253,FP,"pointer assignment, no char sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,253,FP,"pointer assignment, no char sign extension",curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,253,FP,"pointer assignment, no char sign extension",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/tftp.c,255,FP,loc bounded by len checks; buf is param not the 64B stack buf misattributed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/tftp.c,327,FP,state buffer written via spacket.data[index]/curlx_strcopy; const wrong,curl_full_audit_0.4.35,med
API05-C,curl,lib/tftp.c,328,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/tftp.c,330,FP,index bounds-checked at line 333 before subscript,curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,331,FP,strlen(option) no sign-extension issue,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,396,FP,sbytes assigned by sendto at 391 before check at 396,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/tftp.c,407,FP,"time(NULL) timer baseline; curl idiom, unchecked by design",curl_full_audit_0.4.35,med
INT30-C,curl,lib/tftp.c,432,FP,sbytes bounded by loop guard < blksize; no wrap,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,432,FP,cb is out-param set by Curl_client_read at 428 before use,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/tftp.c,566,FP,time(NULL) timer baseline; curl idiom,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/tftp.c,586,FP,time(NULL) timer baseline; curl idiom,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/tftp.c,605,FP,sbytes assigned by sendto at 601 before check,curl_full_audit_0.4.35,high
INT18-C,curl,lib/tftp.c,676,FP,infilesize is signed curl_off_t; comparison to -1 is correct,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/tftp.c,695,FP,Curl_urldecode success (result==0) guarantees filename non-NULL,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/tftp.c,702,FP,filename used in msnprintf then freed at 705; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/tftp.c,705,FP,free at 697 is on disjoint return path; single free per path,curl_full_audit_0.4.35,high
INT18-C,curl,lib/tftp.c,712,FP,infilesize signed; -1 compare correct,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,751,FP,sbytes set at 701 before sendto,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,754,FP,senddata assigned by sendto at 750 before compare,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/tftp.c,761,FP,"break at 759 ends a case; 761 is next case label, reachable",curl_full_audit_0.4.35,high
API05-C,curl,lib/tftp.c,881,FP,dtor signature fixed by Curl_hash dtor typedef; advisory FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/tftp.c,881,FP,tftp_conn_dtor signature fixed by hash-dtor function pointer typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/tftp.c,881,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/tftp.c,886,FP,"Curl_safefree of distinct member; nulls arg, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/tftp.c,887,FP,Curl_safefree of distinct member spacket.data; not UAF,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,909,FP,sizeof(*state) is not a deref; state assigned by calloc here,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,928,FP,state owned by conn meta (dtor registered at 911); freed by tftp_conn_dtor,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,935,FP,state+packets owned by conn meta dtor; not stack-local leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,952,FP,state owned by conn meta dtor; freed on disconnect,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,959,FP,state owned by conn meta dtor; not leaked,curl_full_audit_0.4.35,high
POS02-C,curl,lib/tftp.c,975,FP,client UDP bind to ephemeral port; not a privileged op needing drop,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,981,FP,state owned by conn meta dtor; not leaked,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/tftp.c,990,FP,state owned by conn meta dtor; not leaked,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/tftp.c,1051,FP,"remote_addr filled by recvfrom at 1041 (rbytes>=0,fromlen) before memcmp",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/tftp.c,1146,FP,time(NULL) timer baseline; curl idiom,curl_full_audit_0.4.35,med
ERR33-C,curl,lib/tftp.c,1150,FP,time(NULL) timer baseline; curl idiom,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/tftp.c,1180,FP,event set by tftp_state_timeout (*event=NONE always at 1138),curl_full_audit_0.4.35,high
STR34-C,curl,lib/tftp.c,1315,FP,strlen(path); no sign-extension issue,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/tftp.c,1320,FP,!memcmp idiomatic boolean test,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/tftp.c,1320,FP,memcmp guarded by len>=14,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/tftp.c,1324,FP,!memcmp idiomatic boolean test,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/tftp.c,1324,FP,memcmp guarded by len>=11,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/tftp.c,1360,FP,"Curl_scheme_tftp is exported, referenced by URL scheme table; needs external linkage",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/tftp.c,1360,FP,exported global scheme symbol; cannot reduce scope,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hsts.c,50,FP,"unused void* ignored via (void)unused; debug hook, trivial non-issue",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/hsts.c,52,FP,timestr checked at line 54 before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/hsts.c,52,FP,DEBUGBUILD-only CURL_TIME test hook; not production code,curl_full_audit_0.4.35,med
ENV30-C,curl,lib/hsts.c,56,FP,"curlx_str_number advances const char** cursor, does not modify string contents",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/hsts.c,68,FP,h modified via h->list init; not const,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/hsts.c,79,FP,h used to free members and h itself; not const-qualifiable,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/hsts.c,79,FP,struct hsts *h = *hp is plain pointer copy; no const involved,curl_full_audit_0.4.35,high
DCL02-C,curl,lib/hsts.c,82,FP,'n' and 'h' not visually similar; bogus normalization,curl_full_audit_0.4.35,high
API05-C,curl,lib/hsts.c,95,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
API00-C,curl,lib/hsts.c,119,FP,internal parser; header always valid from callers,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/hsts.c,128,FP,time(NULL) baseline for expiry; curl idiom,curl_full_audit_0.4.35,med
STR34-C,curl,lib/hsts.c,129,FP,strlen(hostname); no sign-extension,curl_full_audit_0.4.35,high
API05-C,curl,lib/hsts.c,225,FP,conformant-array-syntax advisory convention FP,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/hsts.c,230,FP,time(NULL) baseline for expiry check; curl idiom,curl_full_audit_0.4.35,med
MEM30-C,curl,lib/hsts.c,251,FP,hsts_free only in expires<=now branch which continues at 249; 251 not reached after free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,251,FP,free path does continue; member access here is on live entry,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,252,FP,sts not freed on this path (continue skipped 251+); live entry,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,255,FP,live entry; free branch continued earlier,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,255,FP,sts->host on live entry; not freed here,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,263,FP,live entry compared; free path took continue earlier,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,263,FP,sts->host on live entry,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,264,FP,returns live (non-freed) matching entry,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,267,FP,"bestsub is a retained live entry, never freed",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hsts.c,275,TP,"hsts_push static helper reads sts only; never written, not fn-pointer-bound; const valid",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/hsts.c,307,TP,"hsts_out static helper reads sts only; const-qualifiable, not fn-pointer-bound",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/hsts.c,316,FP,stamp filled by curlx_gmtime (result-checked) before use,curl_full_audit_0.4.35,high
API00-C,curl,lib/hsts.c,328,FP,internal/exported save; data always valid from callers,curl_full_audit_0.4.35,high
DCL02-C,curl,lib/hsts.c,332,FP,'n' vs 'h' not confusable; bogus,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/hsts.c,349,FP,FILE* is 'out' (closed at 361); 'result' is CURLcode misidentified,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/hsts.c,349,FP,no open() here; out closed via curlx_fclose at 361,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/hsts.c,351,FP,"adjacent string-literal concatenation, not preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,lib/hsts.c,351,FP,string literal concat across lines; no #directive in args,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hsts.c,353,FP,out valid: Curl_fopen sets it only on success (!result) at 350,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hsts.c,376,FP,sts assigned by Curl_node_elem each loop iteration before use,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/hsts.c,398,FP,intentional empty if; real work in else branch (negative parse logic),curl_full_audit_0.4.35,med
ENV01-C,curl,lib/hsts.c,407,FP,"dbuf filled from parsed file date, bounded by curlx_str_quotedword; not env",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/hsts.c,407,FP,"dbuf is fixed-size [MAX_HSTS_DATELEN+1], not a VLA",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hsts.c,413,FP,curlx_str/curlx_strlen are pure accessors of &date; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/hsts.c,416,FP,!strcmp idiomatic comparison,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hsts.c,426,FP,"accessor calls (curlx_str/strlen), no side effects",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/hsts.c,428,FP,"accessor calls, no unsequenced side effects",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/hsts.c,453,FP,"buffer fed by hsts_read callback, not env var",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/hsts.c,453,FP,"buffer is fixed-size [MAX_HSTS_HOSTLEN+1], not VLA",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hsts.c,453,FP,buffer initialized via e.name[0]=0 and filled by callback before read,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hsts.c,472,FP,hsts_create returns CURLcode not a pointer; result is not allocated memory,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/hsts.c,483,FP,"result is CURLcode; hsts_create appends to llist, no pointer to free",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/hsts.c,503,FP,h->filename freed at 501 then reassigned via strdup at 502; not UAF,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/hsts.c,506,FP,fp closed via curlx_fclose at 528,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/hsts.c,506,FP,no open(); fp from curlx_fopen closed at 528,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/hsts.c,521,FP,curlx_dyn_ptr non-NULL after successful Curl_get_line; already deref'd at 515,curl_full_audit_0.4.35,med
API00-C,curl,lib/hsts.c,536,FP,"thin wrapper, DEBUGASSERT(h), delegates to hsts_load",curl_full_audit_0.4.35,high
API00-C,curl,lib/hsts.c,536,FP,thin wrapper; file passed through to hsts_load,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hsts.c,536,FP,data unused ((void)data); exported API signature consistency,curl_full_audit_0.4.35,med
API00-C,curl,lib/hsts.c,554,FP,internal loader; data always valid from callers,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/openldap.c,128,FP,static const array with initializer; implicit bounds idiomatic and correct,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/openldap.c,169,FP,static const array with initializer; implicit bounds idiomatic,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/openldap.c,211,FP,"loop bounded by NUL terminator on options string, not unbounded",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,236,FP,Curl_protocol setup_connection slot; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,252,FP,SASLproto get_message callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,270,FP,SASLproto perform_auth callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,295,FP,SASLproto continue_auth callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,319,FP,SASLproto cancel_auth callback; signature fixed by typedef,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/openldap.c,371,FP,static const array with initializer; implicit bounds idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,410,FP,Sockbuf_IO setup callback; signature fixed; arg stored in struct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,423,FP,Sockbuf_IO close callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,429,FP,Sockbuf_IO ctrl callback sbiod param; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,429,FP,Sockbuf_IO ctrl callback arg param; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,439,FP,Sockbuf_IO read callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,465,FP,Sockbuf_IO write callback; signature fixed by typedef,curl_full_audit_0.4.35,high
CON03-C,curl,lib/openldap.c,491,FP,"static const vtable struct, effectively immutable; no synchronization needed",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/openldap.c,525,FP,sb is out-param filled by ldap_get_option(&sb),curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,551,FP,conformant array syntax advisory; curl never uses C99 array params,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,551,FP,hash dtor callback key param; signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,551,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,559,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,559,FP,hash dtor callback key param; signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,559,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,585,FP,Curl_protocol connect_it slot done param; signature fixed,curl_full_audit_0.4.35,high
CON03-C,curl,lib/openldap.c,594,FP,debug-only static under ifdef; not a runtime concern,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/openldap.c,639,TP,unchecked getenv passed to str parser may NULL-deref; debug-build gated,curl_full_audit_0.4.35,low
CON34-C,curl,lib/openldap.c,639,FP,getenv thread-safety; debug-only gated code,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/openldap.c,640,FP,"e modified via address-of in curlx_str_number(&env,&e)",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/openldap.c,641,FP,"str_number advances pointer, does not modify getenv static buffer",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/openldap.c,661,FP,sb is out-param filled by ldap_get_option(&sb),curl_full_audit_0.4.35,high
EXP33-C,curl,lib/openldap.c,724,FP,bvals out-param filled by ldap_get_attribute_ber in for-init,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/openldap.c,922,FP,msg from ldap_result non-NULL in this state path; callee handles,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/openldap.c,925,FP,msg from ldap_result non-NULL in this state path; callee handles,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/openldap.c,929,FP,msg from ldap_result non-NULL in this state path; callee handles,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/openldap.c,941,FP,"oldap_recv is a forward-declared static function, not a variable",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/openldap.c,975,FP,all paths reach out: return result; no missing return,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/openldap.c,1006,FP,lud valid when result OK (parse success); guarded by if(result) goto out,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/openldap.c,1036,FP,"void* meta storage round-trip; idiomatic, properly aligned by allocator",curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,1057,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,1058,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,1059,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,1079,FP,"Curl_recv callback buf param; signature fixed, conformant syntax advisory",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/openldap.c,1079,FP,Curl_recv callback buf param; signature fixed by typedef,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/openldap.c,1084,FP,"void* meta storage round-trip; idiomatic, properly aligned",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/openldap.c,1151,FP,STRCONST macro expands to literal+sizeof; no unsequenced side-effects,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/openldap.c,1165,FP,bvals out-param filled by ldap_get_attribute_ber in for-init,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/openldap.c,1166,FP,STRCONST macro misparse; no unsequenced side-effecting calls,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/openldap.c,1179,FP,STRCONST macro misparse; no unsequenced side-effecting calls,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/openldap.c,1210,FP,STRCONST macro misparse; no unsequenced side-effecting calls,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/openldap.c,1215,FP,STRCONST macro misparse; no unsequenced side-effecting calls,curl_full_audit_0.4.35,high
API05-C,curl,lib/openldap.c,1242,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
FLP03-C,curl,lib/openldap.c,1249,FP,"integer division (vendor_version/10000), not floating point",curl_full_audit_0.4.35,high
FLP03-C,curl,lib/openldap.c,1251,FP,"integer arithmetic, not floating point division",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/openldap.c,1256,FP,ber_memvfree is the free itself; no access after free,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_writeout.c,27,FP,8.3 filename collision advisory; irrelevant on modern systems,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_writeout.c,35,FP,static const array with initializer; implicit bounds idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,45,FP,writeTime is in writeoutvar.writefunc table; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,81,TP,urlpart static helper never writes through per; const-able but curl ignores convention,curl_full_audit_0.4.35,low
STR34-C,curl,src/tool_writeout.c,154,FP,"char* to char* pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_writeout.c,168,FP,certinfo out-param filled by curl_easy_getinfo before use,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,195,FP,m walks http_version[] array (m=&http_version[0]),curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_writeout.c,304,FP,DEBUGASSERT does not modify; strinfo not from strerror here,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_writeout.c,317,FP,"freestr is curl_url_get allocation, not strerror; free is correct",curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_writeout.c,317,FP,CURL_UNCONST cast macro; no modification of strerror buffer,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,380,FP,writeOffset is in writefunc table; signature fixed,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_writeout.c,431,FP,static const variables[] with initializer; implicit bounds idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,522,FP,"FILE* output stream; not const-able, fputs takes non-const FILE*",curl_full_audit_0.4.35,high
INT14-C,curl,src/tool_writeout.c,525,FP,ptr += 6 is pointer arithmetic only; no bitwise op on ptr,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_writeout.c,544,TP,time(NULL) return unchecked; consequence cosmetic (timestamp formatting),curl_full_audit_0.4.35,low
ERR33-C,curl,src/tool_writeout.c,551,FP,getenv result checked immediately by if(timestr),curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_writeout.c,551,FP,getenv thread-safety; DEBUGBUILD-only code,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_writeout.c,554,FP,str_number advances pointer; getenv buffer not modified; guarded,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_writeout.c,556,FP,"val is non-negative (str parser, max TIME_T_MAX); modulo well-defined",curl_full_audit_0.4.35,high
INT14-C,curl,src/tool_writeout.c,568,FP,bitwise is on ptr[i+1] not i; i used only for arithmetic indexing,curl_full_audit_0.4.35,high
STR00-C,curl,src/tool_writeout.c,568,FP,ASCII case-fold |0x20 on positive letter chars; idiomatic,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_writeout.c,602,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,602,FP,FILE* output stream; not const-able,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,606,FP,sep points into separator string; array/string access valid,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,623,FP,sep is string pointer; subscript valid,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,624,FP,sep is string pointer; subscript valid,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,627,FP,sep is string pointer; compound add valid,curl_full_audit_0.4.35,high
ARR37-C,curl,src/tool_writeout.c,632,FP,sep is string pointer; increment valid,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,638,TP,output_header static helper never writes through per; const-able,curl_full_audit_0.4.35,low
STR34-C,curl,src/tool_writeout.c,642,FP,"const char* pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
ARR00-C,curl,src/tool_writeout.c,646,FP,end points within writeout string; end[-1] reads valid prior char,curl_full_audit_0.4.35,med
STR34-C,curl,src/tool_writeout.c,656,FP,"pointer-difference comparison, not char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,656,FP,"pointer-difference comparison, not char sign-extension",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_writeout.c,660,FP,!strncmp idiom for prefix match; idiomatic,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,661,FP,"pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,661,FP,"pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_writeout.c,662,FP,end and instr both point into same writeout string,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_writeout.c,668,FP,hname[vlen] guarded by if(vlen < sizeof(hname)) at 666,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_writeout.c,681,FP,header valid only inside CURLHE_OK block; not NULL there,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_writeout.c,704,FP,"ptr points into caller's writeout string, not a local variable",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,704,FP,"const char* pointer assignment, not char sign-extension",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout.c,715,TP,ourWriteOut only reads config->writeout; const-able but curl ignores convention,curl_full_audit_0.4.35,low
ARR30-C,curl,src/tool_writeout.c,729,FP,while loop bounded by NUL terminator on writeout string,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_writeout.c,738,FP,end assigned in each branch before use; sqc branch-merge confusion,curl_full_audit_0.4.35,high
ARR01-C,curl,src/tool_writeout.c,756,FP,"variables is file-scope array, not a decayed parameter; sizeof valid",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_writeout.c,799,FP,!strncmp idiom for token match; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_writeout.c,803,FP,!strncmp idiom for token match; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_writeout.c,806,FP,!strncmp idiom for token match; idiomatic,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_writeout.c,815,FP,"fname filled by memcpy before use, guarded by if(flen<sizeof)",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,816,FP,"pointer-difference comparison, not char sign-extension",curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_writeout.c,816,FP,"pointer-difference comparison, not char sign-extension",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_writeout.c,820,FP,fname[flen]=0 guarded by if(flen < sizeof(fname)) at 817,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_writeout.c,821,FP,stream2 closed via fclose_stream flag at function end (line 868),curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_writeout.c,821,FP,stream2 closed via fclose_stream flag at function end (line 868),curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,77,FP,cr_data_pending is vtable data_pending callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,94,FP,read_cb is rustls reader callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,121,FP,write_cb is rustls writer callback; signature fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,144,FP,tls_recv_more passes cf to non-const callees; const not applicable,curl_full_audit_0.4.35,med
API05-C,curl,lib/vtls/rustls.c,188,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,188,FP,cr_recv vtable recv callback; plainbuf is written output buffer,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,301,FP,conformant array syntax advisory; convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,379,FP,cr_verify_none rustls verify callback; signature fixed,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/vtls/rustls.c,389,FP,f closed via curlx_fclose on all paths; wrapper unrecognized,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/rustls.c,396,FP,"fread(buf,1,sizeof) reads bytes; element-size 1 is correct",curl_full_audit_0.4.35,high
ERR00-C,curl,lib/vtls/rustls.c,396,FP,fread return rr is checked (!rr && !feof),curl_full_audit_0.4.35,high
FIO17-C,curl,lib/vtls/rustls.c,396,FP,binary read into uint8_t buf; no C-string null terminator needed,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,411,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,412,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,445,FP,ciphers set to non-NULL or empty string before deref,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/rustls.c,445,FP,end set by Curl_cipher_suite_walk_str before read in ptr=end,curl_full_audit_0.4.35,high
INT36-C,curl,lib/vtls/rustls.c,461,FP,"(int)(end-ptr) is ptrdiff cast for printf, not ptr-to-int",curl_full_audit_0.4.35,high
INT36-C,curl,lib/vtls/rustls.c,471,FP,(int)(end-ptr) ptrdiff cast for printf width,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,505,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,506,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/rustls.c,509,FP,clabel fixed buffer for keylog label; no getenv involved,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/rustls.c,654,FP,alpn fixed array; no getenv involved,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/rustls.c,658,FP,alpn[i] written before read; same count passed to rustls,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/rustls.c,683,FP,curlx_dyn_uptr/len are pure getters; no unsequenced side effects,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,721,FP,roots_builder freed at cleanup label on all gotos,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,731,FP,roots_builder freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,739,FP,roots_builder freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,745,FP,roots_builder freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,753,FP,roots_builder freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,762,FP,roots_builder freed at cleanup label,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/rustls.c,871,FP,curlx_dyn_uptr/len pure getters; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/rustls.c,1010,FP,get_config returns ssl_config_data*; no char* alignment cast in source,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1014,FP,conn_config from cf accessor always valid; curl idiom,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/rustls.c,1030,FP,config_builder non-NULL after successful init_config_builder,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1037,FP,ssl_config from cf accessor always valid; curl idiom,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/rustls.c,1038,FP,config_builder non-NULL after init returns OK,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1046,FP,config_builder non-NULL after init returns OK,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1060,FP,config_builder non-NULL after init returns OK,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1069,FP,config_builder non-NULL after init returns OK,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/rustls.c,1077,FP,config_builder non-NULL after init returns OK,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,1090,FP,"'rr' is rustls_result int, not pointer; rconn ownership transfers to backend",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,1097,FP,"error path; rconn not allocated, config freed; rr is not a pointer",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/rustls.c,1103,FP,success path; rconn stored in backend->conn freed by cr_close,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/rustls.c,1123,FP,"for(;;) never falls through; all paths return, end unreachable",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/rustls.c,1230,FP,"char* from const unsigned char*; both alignment 1, no real issue",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/rustls.c,1231,FP,char* from const unsigned char*; both alignment 1,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,1287,FP,cr_get_internals vtable get_internals callback; signature fixed,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/rustls.c,1335,FP,buf is output buffer written by cr_recv before read,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,1359,FP,cr_close vtable callback; data param fixed by typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,1359,FP,cr_close vtable callback; data param fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,1377,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/rustls.c,1383,FP,cr_random vtable random callback; signature fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/rustls.c,1383,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/bufq.c,45,FP,chunk_reset callers pass validated non-NULL chunk,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,50,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/bufq.c,57,FP,no const cast; memcpy size arg misparsed,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,64,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.c,85,FP,chunk_slurpn calls reader fn-ptr; const not applicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,86,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,98,FP,"reader is a function-pointer parameter, not undeclared function",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/bufq.c,100,FP,"DEBUGASSERT(*pnread<=n): size_t values, not array pointers",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,107,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/bufq.c,110,FP,"*pbuf=&chunk->x.data[..] is pointer assignment, not struct copy",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,115,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM33-C,curl,lib/bufq.c,119,FP,"*pbuf pointer assignment, not flexible-array struct copy",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/bufq.c,119,FP,offset bounded by callers and DEBUGASSERT; internal helper,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/bufq.c,142,FP,curlx_free declared via curlx headers/macros,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/bufq.c,151,FP,"sizeof(*pool) is struct size; pool points to single struct, idiom",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/bufq.c,166,FP,"*pchunk=chunk from pool->spare (persistent), not local automatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,176,FP,curlx_calloc declared via curlx headers/macros,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/bufq.c,182,FP,"*pchunk=chunk from curlx_calloc heap, not local automatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,190,FP,curlx_free declared via curlx headers/macros,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.c,206,FP,bufcp_take pool modified (spare list mutated); const wrong here,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/bufq.c,211,FP,"sizeof(*q) is struct size; q points to single struct, idiom",curl_full_audit_0.4.35,high
INT14-C,curl,lib/bufq.c,294,FP,member access (>=) and opts bitmask (&); readability advisory,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,309,FP,curlx_calloc declared via curlx headers/macros,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,336,FP,curlx_free declared via curlx headers/macros,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/bufq.c,364,FP,"return chunk from q->tail/get_spare (heap), not local automatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,367,FP,"internal Curl_bufq_write; len is size_t loop bound, DEBUGASSERT guards",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,368,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,395,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,401,FP,"internal Curl_bufq_read; len loop-bounded, callers trusted",curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,401,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,417,FP,thin wrapper to Curl_bufq_read; no deref of buf itself,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,417,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,424,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,438,FP,offset bounded by callers; internal helper,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,438,FP,offset bounded by callers; internal helper,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.c,438,FP,Curl_bufq_peek_at traverses q->head list (reads); but accessor; idiom-FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,439,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/bufq.c,441,FP,c is reassigned c=c->next in loop; not const-eligible,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,461,FP,internal Curl_bufq_skip; amount is size_t loop counter,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,472,FP,writer is fn-ptr called in loop; not derefed unchecked,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/bufq.c,472,FP,writer fn-ptr param invoked; const not applicable,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,473,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/bufq.c,483,FP,"writer is function-pointer parameter, not undeclared function",curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,504,FP,len is size_t loop bound; internal function,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,504,FP,len is size_t loop bound; internal function,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,505,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,506,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,553,FP,reader fn-ptr called via chunk_slurpn; not derefed unchecked,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,554,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,580,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/bufq.c,615,FP,thin wrapper to bufq_slurpn; reader fn-ptr not derefed,curl_full_audit_0.4.35,high
API05-C,curl,lib/bufq.c,616,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_ntlm_core.c,74,FP,"DESKEY(x) &x: address-of, no operator-precedence hazard; parenthesizing changes nothing",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/curl_ntlm_core.c,92,FP,"DESKEY(x) &x: address-of, no precedence hazard",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,142,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,149,FP,unsigned char b promoted to int for shifts/xor; no overflow possible,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,149,FP,"unsigned char promoted to int; masked parity computation, no overflow",curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,149,FP,promoted to int; no overflow,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,150,FP,promoted to int; no overflow,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,150,FP,promoted to int; no overflow,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,150,FP,promoted to int; no overflow,curl_full_audit_0.4.35,high
INT08-C,curl,lib/curl_ntlm_core.c,151,FP,"promoted to int; masked, no overflow",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,168,FP,key_56 is const unsigned char* not a FILE*; total misfire,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,168,FP,key_56 is a byte buffer not a stream,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,169,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,169,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,170,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,170,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,171,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,171,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,172,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,172,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
INT31-C,curl,lib/curl_ntlm_core.c,173,FP,value masked &0xFF before cast to char; intentional byte truncation,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,173,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curl_ntlm_core.c,173,FP,"key_56 byte array, no FILE*",curl_full_audit_0.4.35,high
DCL40-C,curl,lib/curl_ntlm_core.c,197,FP,mutually-exclusive #elif crypto-backend defs; only one compiled per build,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/curl_ntlm_core.c,205,FP,key is local non-const char[8]; cast to uchar* casts no const away,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/curl_ntlm_core.c,223,FP,key is local non-const char[8]; no const cast away,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/curl_ntlm_core.c,227,FP,key is local non-const char[8]; no const cast away,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_ntlm_core.c,233,FP,"out is the encryption output buffer, written by the cipher; cannot be const",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curl_ntlm_core.c,357,FP,initialized magic[] table; implicit bounds idiomatic and correct,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_ntlm_core.c,360,FP,"strlen(password): password is char* passed to strlen, no char->int promotion",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_ntlm_core.c,363,FP,"len=CURLMIN(...,14)<=14; &pw[len] valid (at most one-past for memset 0 size)",curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,396,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,396,FP,curl array-param convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_ntlm_core.c,413,FP,strlen(password): no signed-char to int conversion at this site,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_ntlm_core.c,449,FP,readability-only advisory on bias arithmetic; not a defect,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_ntlm_core.c,475,FP,readability advisory on loop counter i,curl_full_audit_0.4.35,high
INT34-C,curl,lib/curl_ntlm_core.c,476,FP,"i in {24,16,8,0}; shift always within 32-bit width",curl_full_audit_0.4.35,high
INT34-C,curl,lib/curl_ntlm_core.c,477,FP,"i in {24,16,8,0}; shift within width",curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_ntlm_core.c,480,FP,readability advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,489,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,490,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,502,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,503,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,504,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.c,505,FP,curl array-param convention,curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_ntlm_core.c,515,FP,"userlen<<1 size calc, bounded by CURL_MAX_INPUT_LENGTH check; readability only",curl_full_audit_0.4.35,high
ENV34-C,curl,lib/curl_ntlm_core.c,578,FP,"DEBUGBUILD-only getenv used immediately, not retained across getenv calls",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curl_ntlm_core.c,578,FP,return value IS checked: if(force_timestamp) on next line,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_ntlm_core.c,578,FP,DEBUGBUILD-only diagnostic getenv; thread-safety advisory not applicable,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/curl_ntlm_core.c,594,FP,"LONGQUARTET macro args are pure shift/mask, no side effects to sequence",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_ntlm_core.c,621,FP,"ptr points to curlx_calloc heap, not stack; *ntresp=ptr returns valid heap",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/curl_ntlm_core.c,659,FP,"lmresp is 24-byte out, hmac_output is 16; memcpy 16 within bounds",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/pop3.c,145,FP,initialized pop3cmds[] table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/pop3.c,181,FP,while(*ptr && ...) over NUL-terminated conn->options; bounded by NUL,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,235,FP,Curl_meta_get returns the originally-allocated struct POP3*; alignment preserved,curl_full_audit_0.4.35,high
STR34-C,curl,lib/pop3.c,236,FP,"&data->state.up.path[1] is pointer init, not signed-char read",curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,253,FP,meta_get returns originally-allocated struct; alignment fine,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pop3.c,293,FP,pop3_endofresp matches fixed endofresp callback typedef; const cannot be added,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,294,FP,curl array-param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,294,FP,curl array-param convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/pop3.c,303,FP,!memcmp idiom in protocol response parsing; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/pop3.c,325,FP,!memcmp idiom; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pop3.c,347,FP,pop3_get_message matches SASLproto.getmessage callback typedef; fixed signature,curl_full_audit_0.4.35,high
STR30-C,curl,lib/pop3.c,375,FP,Curl_bufref_set stores ptr+len 0 with NULL freefn; does not modify literal,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/pop3.c,393,FP,initialized names[] debug table; implicit bounds idiomatic,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/pop3.c,410,FP,(void*)pop3c for infof %p logging; not casting away const,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/pop3.c,475,FP,"all paths return: USE_SSL branch ends at out:, #else returns NOT_BUILT_IN",curl_full_audit_0.4.35,high
MEM03-C,curl,lib/pop3.c,560,FP,"secret holds APOP MD5 hex digest sent in cleartext, not the password; advisory",curl_full_audit_0.4.35,med
MEM05-C,curl,lib/pop3.c,560,FP,"MD5_DIGEST_LEN is a compile-time constant; secret[] is fixed-size, not a VLA",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/pop3.c,589,FP,secret written by msnprintf within the loop before any read; not uninitialized,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/pop3.c,589,FP,"secret is the snprintf output target, then sent; not read uninitialized",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/pop3.c,589,FP,digest filled by Curl_MD5_final at L585 before loop reads it,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,730,FP,meta_get returns originally-allocated struct; alignment preserved,curl_full_audit_0.4.35,high
STR34-C,curl,lib/pop3.c,822,FP,"gt/lt are const char* pointers; gt-lt is pointer subtraction, not char promotion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/pop3.c,822,FP,"lt is a pointer; pointer arithmetic, no signed-char conversion",curl_full_audit_0.4.35,high
ARR38-C,curl,lib/pop3.c,823,FP,"timestamplen=gt-lt+1 with lt,gt both inside line buffer; memchr in bounds",curl_full_audit_0.4.35,high
INT30-C,curl,lib/pop3.c,887,FP,len-- guarded by while(len && ...) so len>0 at decrement,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/pop3.c,996,FP,"default: is a separate case label, not unreachable after the preceding break",curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,1073,FP,curl array-param convention,curl_full_audit_0.4.35,high
INT30-C,curl,lib/pop3.c,1161,FP,guarded by prev-1>0 immediately preceding in same condition; no wrap,curl_full_audit_0.4.35,high
INT30-C,curl,lib/pop3.c,1163,FP,"under strip_dot && prev-1>0 guard; prev>=2 here, no wrap",curl_full_audit_0.4.35,high
INT00-C,curl,lib/pop3.c,1198,FP,last<=nread maintained by loop invariant (last set to indices <nread),curl_full_audit_0.4.35,high
INT00-C,curl,lib/pop3.c,1200,FP,nread-last guarded by if(nread-last); last<=nread by construction,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,1213,FP,meta_get returns originally-allocated struct; alignment preserved,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/pop3.c,1251,FP,both arg calls only read pointer/len from same buf; no unsequenced side effects,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,1470,FP,meta_get returns originally-allocated struct; alignment preserved,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/pop3.c,1504,FP,meta_get returns originally-allocated struct; alignment preserved,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pop3.c,1533,FP,pop3_dophase_done casts data to void; matches handler signature anyway,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,1652,FP,pop3_easy_dtor matches Curl_meta_dtor callback typedef; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pop3.c,1652,FP,dtor key param fixed by Curl_meta_dtor typedef; cannot add const,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,1652,FP,curl array-param convention; callback typedef fixed,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,1664,FP,pop3_conn_dtor matches Curl_meta_dtor typedef; signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/pop3.c,1664,FP,dtor key param fixed by typedef,curl_full_audit_0.4.35,high
API05-C,curl,lib/pop3.c,1664,FP,curl array-param convention; callback typedef fixed,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/pop3.c,1684,FP,"L1684 is the assignment pop3c=curlx_calloc, not a dereference of uninit ptr",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/pop3.c,1687,FP,on meta_set failure Curl_meta_set itself calls dtor freeing pop3c; no leak,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/pop3.c,1689,FP,meta_set calls dtor on failure freeing pop3/pop3c; ownership transferred,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/pop3.c,1720,FP,Curl_scheme_pop3 has genuine external linkage (referenced from url.c scheme table),curl_full_audit_0.4.35,high
DCL19-C,curl,lib/pop3.c,1720,FP,exported scheme handler must be file-scope with external linkage,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/pop3.c,1737,FP,Curl_scheme_pop3s has genuine external linkage; needed by url.c,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/pop3.c,1737,FP,exported scheme handler; must be external file-scope,curl_full_audit_0.4.35,high
API05-C,curl,lib/connect.c,73,FP,Advisory conformant-array syntax; curl never uses C99 array params,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/connect.c,76,FP,!memcmp boolean idiom in alpn dispatch,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/connect.c,76,FP,"name from setopt; len-guarded, not NULL in practice",curl_full_audit_0.4.35,med
EXP20-C,curl,lib/connect.c,78,FP,!memcmp boolean idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/connect.c,80,FP,!memcmp boolean idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/connect.c,84,FP,!memcmp boolean idiom,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,139,FP,"Thin wrapper, passes data through to impl",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,150,FP,"sockindex is FIRSTSOCKET/SECONDARY (0/1), bounded by design",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/connect.c,150,FP,"sockindex internal 0/1 invariant, not attacker-controlled",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,168,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,174,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,178,FP,"Internal fn; derefs conn (caller-asserted), data passed through",curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,194,FP,Internal fn; data->conn invariant per siblings,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/connect.c,194,FP,data non-const by curl convention; vtable-style signature,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,196,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/connect.c,196,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/connect.c,200,FP,data non-const by convention,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,203,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/connect.c,203,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,211,FP,"addr is out-param written before read; sa derefed, public sig",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/connect.c,211,FP,Public API signature fixed; cannot const sa,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,268,FP,DEBUGASSERT(data); connp checked before deref,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/connect.c,301,FP,"'reason' is a parameter name, not a function; misparse",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/connect.c,301,FP,Misparse of macro-conditional param 'reason' as function,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/connect.c,316,FP,"Intentional no-op with explanatory comment, has else branch",curl_full_audit_0.4.35,high
CON03-C,curl,lib/connect.c,470,FP,"Exported global cfilter vtable; init-once const-like, not shared mutable",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/connect.c,470,FP,"Curl_cft_setup exported, used in other TUs",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/connect.c,470,FP,Exported vtable needs file scope external linkage,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/connect.c,489,FP,data non-const by convention; (void)data used,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/connect.c,498,FP,curlx_calloc declared in curlx headers,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/connect.c,498,FP,ctx assigned from calloc then NULL-checked; not uninitialized,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/connect.c,515,FP,curlx_free declared in curlx headers,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/connect.c,520,FP,All paths return result via out: label,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/connect.c,533,FP,cf set by &cf out-param in cf_setup_create (*pcf always assigned),curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,538,FP,"cf_at passed through; data DEBUGASSERTed, internal",curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,538,FP,DEBUGASSERT(data); internal fn,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/connect.c,538,FP,All paths return result via out:,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/connect.c,550,FP,cf set by &cf out-param before use,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,555,FP,DEBUGASSERT(data); internal fn,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,555,FP,conn->scheme DEBUGASSERTed; internal invariant,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,555,FP,DEBUGASSERT(dns); internal invariant,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,567,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,568,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,571,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,581,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,588,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/connect.c,591,FP,sockindex bounded 0/1 internal,curl_full_audit_0.4.35,high
API00-C,curl,lib/connect.c,595,FP,"Internal fn; conn->bits checked, idiomatic",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_fnmatch.c,77,FP,c reassigned each loop iteration; advisory const only,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/curl_fnmatch.c,83,FP,i guarded by i>=sizeof(keyword) check at line 78,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,100,FP,CURLFNM_DIGIT=258 < charset size 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,102,FP,CURLFNM_ALNUM=257 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,104,FP,CURLFNM_ALPHA=260 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,106,FP,CURLFNM_XDIGIT=259 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,108,FP,CURLFNM_PRINT=261 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,110,FP,CURLFNM_GRAPH=264 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,112,FP,CURLFNM_SPACE=265 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,114,FP,CURLFNM_BLANK=262 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,116,FP,CURLFNM_UPPER=266 < 271,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,118,FP,CURLFNM_LOWER=263 < 271,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/curl_fnmatch.c,140,FP,c is unsigned char loaded from pointer; advisory const only,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/curl_fnmatch.c,142,FP,c is unsigned char (0-255) < charset 271,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,142,FP,"c declared unsigned char, not plain char; misparse",curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,142,FP,"c is unsigned char, not plain char",curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,150,FP,c is unsigned char,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,152,FP,"c is unsigned char, in-range index",curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,152,FP,c is unsigned char,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_fnmatch.c,153,FP,"p points into caller's pattern buffer; advancing caller cursor, not local addr",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curl_fnmatch.c,159,FP,for(;;) all paths return or goto fail->return,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,168,FP,c is unsigned char (line 163),curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,178,FP,"c is unsigned char, valid index",curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,178,FP,c is unsigned char,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/curl_fnmatch.c,184,FP,&& provides sequence point; pp++ completes before parsekeyword call,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,187,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,187,FP,c is unsigned char,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,194,FP,CURLFNM_NEGATE=256 < 271,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,195,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,195,FP,c is unsigned char,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,199,FP,CURLFNM_NEGATE=256 < 271,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,202,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,202,FP,c is unsigned char,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/curl_fnmatch.c,210,FP,'\\'=92 constant index < 256,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,221,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,221,FP,c is unsigned char,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,228,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,228,FP,c is unsigned char,curl_full_audit_0.4.35,high
STR00-C,curl,lib/curl_fnmatch.c,242,FP,c is unsigned char,curl_full_audit_0.4.35,high
INT07-C,curl,lib/curl_fnmatch.c,242,FP,c is unsigned char,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/curl_fnmatch.c,251,FP,"Recursion bounded by maxstars (starts 2, decremented)",curl_full_audit_0.4.35,med
MSC37-C,curl,lib/curl_fnmatch.c,251,FP,for(;;) loop always returns on every case path,curl_full_audit_0.4.35,high
CON43-C,curl,lib/curl_fnmatch.c,261,FP,"p is local pattern cursor, single-threaded; not shared",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curl_fnmatch.c,261,FP,p=pattern NULL-checked in Curl_fnmatch line 353,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curl_fnmatch.c,278,FP,s=string NULL-checked in Curl_fnmatch line 353,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_fnmatch.c,349,FP,ptr signature fixed by curl_fnmatch_callback typedef,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/curl_fnmatch.c,365,FP,ptr signature fixed by callback typedef,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_fnmatch.c,98,FP,"*pattern = p assigns caller pointer to position within caller pattern buffer, not local-address escape",curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_setopt.c,24,FP,"8-char filename collision advisory; curl uses long filenames, not a real portability issue",curl_full_audit_0.4.35,high
PRE00-C,curl,src/tool_setopt.c,40,FP,"NV macro takes enum constant; struct-initializer token macro, multi-eval of a constant is harmless",curl_full_audit_0.4.35,high
PRE01-C,curl,src/tool_setopt.c,40,FP,"value used only in {#e,e} init list with enum constants; parenthesizing pointless, no precedence risk",curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.c,40,FP,stringify-an-enum-name is the intent; two-level indirection would defeat the purpose,curl_full_audit_0.4.35,high
PRE12-C,curl,src/tool_setopt.c,40,FP,argument is always an enum constant; multiple evaluation has no side effects,curl_full_audit_0.4.35,high
PRE05-C,curl,src/tool_setopt.c,41,FP,NV1 stringifies enum name deliberately; expansion not desired,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,44,FP,NULL-terminated initializer table; implicit bounds are correct and idiomatic,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,55,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,63,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,68,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,81,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,92,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,104,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,114,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,122,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,129,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,137,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,147,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,154,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_setopt.c,163,FP,sentinel-terminated init table; implicit size correct,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_setopt.c,190,FP,"strlen(str) in c_escape; all callers pass valid option strings, str non-NULL in practice",curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_setopt.c,204,FP,s iterates from str under len-guarded loop; never NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_setopt.c,364,TP,"slist only iterated/read in static helper, not vtable-bound; could be const-pointer",curl_full_audit_0.4.35,low
API02-C,curl,src/tool_setopt.c,395,FP,"'int *mimeno' is a scalar out-param, not an array; no size argument applicable",curl_full_audit_0.4.35,high
MEM05-C,curl,src/tool_setopt.c,401,FP,recursion bounded by user mime-tree depth; no unbounded stack risk,curl_full_audit_0.4.35,med
MSC04-C,curl,src/tool_setopt.c,401,FP,direct recursion over part->prev linked list is bounded and idiomatic,curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_setopt.c,451,FP,escaped used in addf before free at 457; not use-after-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,457,FP,block-local escaped freed once; analyzer conflates distinct per-block variables,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,480,FP,distinct block-local escaped; used before its single free at 482,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,482,FP,single free of block-local escaped; not a double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,487,FP,distinct block-local escaped; used before single free at 489,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,489,FP,single free of block-local escaped; conflated across blocks,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_setopt.c,489,FP,each escaped is a fresh local per if-block; freed exactly once,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,494,FP,distinct block-local escaped; used before single free at 496,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,496,FP,single free of block-local escaped; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_setopt.c,496,FP,fresh local per block; freed once,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,501,FP,distinct block-local escaped; used before single free at 503,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_setopt.c,503,FP,single free of block-local escaped; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_setopt.c,503,FP,fresh local per block; freed once,curl_full_audit_0.4.35,high
MSC04-C,curl,src/tool_setopt.c,523,FP,"indirect recursion over bounded mime tree; idiomatic, not actionable",curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_setopt.c,525,TP,toolmime only read (->subparts) in static helper; const-pointer candidate,curl_full_audit_0.4.35,low
API00-C,curl,src/tool_setopt.c,554,FP,internal setopt fn always called with valid curl; curl does not NULL-check internal params,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_setopt.c,554,FP,config supplied by caller; internal contract guarantees non-NULL,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_setopt.c,554,FP,mimepost passed straight to curl_easy_setopt; no unchecked deref,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_setopt.c,574,FP,list passed to curl_easy_setopt and guarded by 'list &&'; never unchecked-derefed,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_setopt.c,604,FP,!strcmp boolean idiom in option-name dispatch; idiomatic,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_setopt.c,668,FP,config derefed only conditionally for POSTFIELDS; internal caller guarantees validity,curl_full_audit_0.4.35,high
EXP47-C,curl,src/tool_setopt.c,681,FP,"va_arg(arg, char *) is a pointer fetch; no char promotion issue, analyzer misread type",curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-ip-happy.c,70,FP,table is static const at runtime (mutable only under UNITTESTS); no thread-shared mutation,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-ip-happy.c,70,FP,variable already declared static at line 66,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-ip-happy.c,70,FP,file-scope const lookup table shared by helpers; minimal scope already,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/cf-ip-happy.c,70,FP,initializer-sized provider table; implicit bounds correct,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,96,FP,cf_create is a function-pointer value stored into the array; const on it is meaningless,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,147,TP,iter only read in cf_ai_iter_has_more static helper; const-pointer candidate,curl_full_audit_0.4.35,low
DCL31-C,curl,lib/cf-ip-happy.c,181,FP,curlx_free declared via curl memory headers/macros sqc cannot resolve,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,186,FP,cf drives connection setup across ballers API kept deliberately non-const; project convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,191,FP,cf_create is a fnptr value stored to a->cf_create; const not applicable,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-ip-happy.c,198,FP,curlx_calloc provided by curl memory macros; declaration invisible to sqc,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-ip-happy.c,198,FP,a is assigned from curlx_calloc then NULL-checked; not uninitialized,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cf-ip-happy.c,207,FP,"a is heap memory from calloc, not a local's address; valid after return via *pa",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-ip-happy.c,231,FP,"a comes from caller's running list, always non-NULL at call sites",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,263,FP,"cf used to drive restart in non-const ballers API; project convention, not actionable",curl_full_audit_0.4.35,med
EXP34-C,curl,lib/cf-ip-happy.c,266,FP,a is a valid attempt node from the running list; not NULL,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,293,TP,cf parameter cast to void (unused) in cf_ip_ballers_clear; could be const,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/cf-ip-happy.c,303,FP,"winner and running nodes are distinct allocations; 'data' is the easy handle, not freed",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,303,FP,winner freed once after running list drained; no double-free,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,309,FP,cf_create fnptr value stored to bs->cf_create; const not applicable,curl_full_audit_0.4.35,med
ARR01-C,curl,lib/cf-ip-happy.c,313,FP,"bs is a real struct pointer; sizeof(*bs) gives struct size, correct idiom, not decayed array",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/cf-ip-happy.c,368,FP,a=*panchor under loop guard *panchor; non-NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-ip-happy.c,417,FP,addr explicitly initialized to NULL at declaration,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/cf-ip-happy.c,449,FP,"a is heap memory from cf_ip_attempt_new, not a stack address; valid in running list",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,453,FP,"goto out reached only on cf_ip_attempt_new failure, which already frees a internally",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,473,FP,goto out on restart serious-failure; no fresh allocation leaked at this point,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,484,FP,"goto out path; attempts owned by running list, freed by ballers_clear, not leaked",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,535,FP,bs ballers API uniformly non-const by design; mutation occurs through member nodes,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,557,FP,bs ballers API uniformly non-const by design; project convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,571,FP,bs ballers API uniformly non-const by design; project convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,585,FP,bs ballers API uniformly non-const by design; project convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,603,FP,bs ballers API uniformly non-const by design; project convention,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/cf-ip-happy.c,675,FP,failf args are independent function calls with no shared side effects; order irrelevant,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,844,FP,cf_ip_happy_data_pending is a vtable slot; signature fixed by Curl_cftype typedef,curl_full_audit_0.4.35,high
CON03-C,curl,lib/cf-ip-happy.c,903,FP,Curl_cft_ip_happy is an immutable cfilter-type definition table; not mutated at runtime,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cf-ip-happy.c,903,FP,Curl_cft_ip_happy has external linkage by design (referenced from other TUs),curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cf-ip-happy.c,903,FP,exported cfilter-type table must be file-scope with external linkage,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-ip-happy.c,932,FP,"data cast to void (unused); marking const noise, internal creator signature",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,933,FP,conn cast to void (unused); const marking pointless,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/cf-ip-happy.c,934,FP,cf_create fnptr value stored to ctx->cf_create; const not applicable,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-ip-happy.c,943,FP,curlx_calloc from curl memory macros; declaration invisible to sqc,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cf-ip-happy.c,956,FP,curlx_free from curl memory macros; declaration invisible to sqc,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-ip-happy.c,961,FP,cf_at guarded by DEBUGASSERT and internal contract; data passed through to helpers,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-ip-happy.c,961,FP,"data is the easy handle, always valid from internal callers",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,971,FP,"get_cf_create returns a fnptr from a static table, not heap; must not be freed",curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,976,FP,result is CURLcode; created cf ownership transferred via Curl_conn_cf_insert_after,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,981,FP,cf_create not heap; cf inserted into chain on success; nothing leaked at return,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/cf-ip-happy.c,981,FP,"result is CURLcode return value, not an allocation; created cf ownership transferred to chain",curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,24,FP,8-char header collision advisory; curl targets modern filesystems,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,54,FP,8-char header collision advisory; not applicable to curl build,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,54,FP,8-char header collision advisory; not applicable,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,55,FP,8-char header collision advisory; not applicable,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,62,FP,8-char header collision advisory; not applicable,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,66,FP,8-char header collision advisory; not applicable,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_operate.c,68,FP,8-char header collision advisory; not applicable,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,150,FP,VMS file closed via curlx_fclose at line 161,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,150,FP,'file' is FILE* not an fd; misclassified; closed at 161,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_operate.c,157,FP,fread return assigned to ret_stat and checked in loop guard,curl_full_audit_0.4.35,med
ARR38-C,curl,src/tool_operate.c,157,FP,"fread(buffer,1,sizeof,..) reads bytes intentionally; size 1 correct",curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_operate.c,157,FP,return used as loop guard; duplicate of ERR33,curl_full_audit_0.4.35,med
FIO17-C,curl,src/tool_operate.c,157,FP,"binary byte read, buffer not used as C string; no terminator needed",curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_operate.c,159,FP,curl_off_t count over local file size; practically unbounded but not a real wrap,curl_full_audit_0.4.35,med
DCL31-C,curl,src/tool_operate.c,194,FP,curlx_calloc declared via curlx headers/macro; preprocessor not run by sqc,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,199,FP,"p is heap from curlx_calloc, not stack; global list head legitimate",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,199,FP,"p is heap-allocated, not stack array/VLA",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,202,FP,linked-list wiring of heap node; no stack escape,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,206,FP,heap node assigned to list tail; not dangling,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,206,FP,"heap node, not stack",curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,208,FP,*per = p stores heap pointer through out-param; valid,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,220,FP,"transfersl is file-static, zero-initialized; DEBUGASSERT only reads",curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,229,FP,"n is heap list node, not stack",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,229,FP,heap node assigned to global head; not stack escape,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,234,FP,heap node to tail pointer; valid,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,234,FP,"heap node, not stack",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,236,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,238,FP,"returns n which is a heap pointer (per->next), not stack local",curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,267,FP,VMS branch; fileinfo filled by curlx_stat before use; guarded,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,280,FP,per->infd closed on error (286) and in post_per_transfer; owned by struct,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,289,FP,infd closed at 286 before this error return; not leaked,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_operate.c,300,FP,getenv result checked: if(ev) before use,curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_operate.c,300,FP,single-threaded CLI startup; getenv reentrancy not a real risk here,curl_full_audit_0.4.35,med
ENV30-C,curl,src/tool_operate.c,303,FP,curlx_str_number takes &ev and advances pointer; does not modify env buffer,curl_full_audit_0.4.35,high
INT18-C,curl,src/tool_operate.c,309,FP,uploadfilesize is signed curl_off_t initialized to -1; comparison correct,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,314,FP,"infd owned by per struct, closed in post_per_transfer; not leaked",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,324,FP,glob_cleanup nulls arg; distinct members freed; no UAF,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,337,FP,config not modified here but const not applied project-wide; idiom,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,338,FP,per read-only here but curl does not const-qualify these,curl_full_audit_0.4.35,med
ARR02-C,curl,src/tool_operate.c,443,FP,m[] sized by initializer is valid and idiomatic C,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_operate.c,493,FP,sleeptime is long but always >=0 here; modulo by 1000L benign,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_operate.c,494,FP,non-negative sleeptime; modulo well-defined,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_operate.c,495,FP,non-negative sleeptime; modulo well-defined,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operate.c,516,FP,!strcmp idiom in method dispatch; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operate.c,521,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,521,FP,header guaranteed set by preceding !curl_easy_header() success in same &&,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,549,FP,fileinfo filled by curlx_fstat in same condition before S_ISREG read,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_operate.c,552,FP,"pre-truncate flush; data already validated, return not critical",curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_operate.c,564,FP,fseek return assigned to rc and checked at line 570,curl_full_audit_0.4.35,high
ERR00-C,curl,src/tool_operate.c,564,FP,rc checked at 570; duplicate,curl_full_audit_0.4.35,high
FIO14-C,curl,src/tool_operate.c,564,FP,"SEEK_END after ftruncate to known size; portable enough, advisory",curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,585,FP,curl convention does not const-qualify per param,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,619,FP,per param const not applied by curl convention,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_operate.c,656,FP,fflush rc assigned and checked at 657,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,667,FP,per param const not applied by curl convention,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_operate.c,684,FP,st filled by curlx_stat in same if-condition before S_ISREG,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operate.c,724,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,770,FP,distinct struct members freed via tool_safefree; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,772,FP,reading etag_save members to close stream; not freed yet,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,772,FP,"etag_save is embedded struct, not freed; no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,772,FP,stream member read before any free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,772,FP,embedded struct member access; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,773,FP,"curlx_fclose of stream; valid close, no prior free",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,773,FP,"embedded struct, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,775,FP,alloc_filename flag read then filename freed; correct order,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,775,FP,"embedded struct, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,776,FP,tool_safefree of distinct member; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,778,FP,"curl_easy_cleanup(per->curl) is the intended free, not UAF",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,780,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,781,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,782,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,783,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,784,FP,"freeing headlist then setting NULL; distinct member, not UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,785,FP,"hdrcbdata.headlist=NULL after free; correct nulling, not UAF",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,795,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,803,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,812,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,821,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,837,FP,per dereferenced; caller guarantees non-NULL per node,curl_full_audit_0.4.35,med
DCL31-C,curl,src/tool_operate.c,852,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,871,FP,file closed via curlx_fclose at 888 and 898 on all paths,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,904,FP,config modified (sets etag_save fields indirectly); curl convention,curl_full_audit_0.4.35,med
MEM31-C,curl,src/tool_operate.c,909,FP,"create_dir_hierarchy returns CURLcode, not allocated memory",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,916,FP,"newfile stored in etag_save->stream, closed in post_per_transfer",curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,921,FP,"result is CURLcode return, not allocation",curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,934,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,937,FP,config read-only but curl does not const-qualify,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,938,FP,per param const not applied by curl convention,curl_full_audit_0.4.35,med
EXP20-C,curl,src/tool_operate.c,942,FP,!strcmp idiom; idiomatic dispatch,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,960,FP,"create_dir_hierarchy returns CURLcode, not memory",curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,965,FP,per->prev access; caller ensures per valid,curl_full_audit_0.4.35,med
FIO42-C,curl,src/tool_operate.c,970,FP,"newfile stored in heads->stream, closed in post_per_transfer",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,970,FP,FILE* not fd; misclassified; ownership transferred to heads,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,974,FP,newfile not yet assigned on this error return; it IS closed at 968 sibling; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,974,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,987,FP,newfile ownership passed to heads on success path; no leak,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,987,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,1001,FP,per non-NULL by caller contract,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_operate.c,1005,FP,sc set by get_url_file_name out-param before read,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1037,FP,"per not freed here; tool_safefree of storefile, distinct",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1037,FP,"per->outfile reassigned, not freed-then-used",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1042,FP,per is live; safefree of storefile only,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1042,FP,per not freed; analyzer conflates storefile free with per,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1045,FP,per live; free was of per->outfile then reassigned,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1045,FP,per->outfile reassigned after free; not UAF,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,1048,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1055,FP,"per live, outfile reassigned to d; not freed-then-used",curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1055,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1055,FP,per->outfile is the new heap string d; valid,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1063,FP,per->outfile live (just reassigned); not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1063,FP,outfile current allocation; no prior free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1065,FP,per live; outfile valid,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1065,FP,outfile not freed; analyzer state-conflation,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1076,FP,"per live; curlx_stat reads per->outfile, not freed",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1076,FP,per->outfile is live string passed to curlx_stat; no UAF,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_operate.c,1092,FP,"file stored in outs->stream, closed in post_close_output",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1092,FP,per live; outfile valid,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1092,FP,outfile not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1095,FP,per live; outfile valid,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1095,FP,outfile not freed,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,1096,FP,file ownership passed to outs->stream; freed by cleanup,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1096,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1105,FP,"outs->filename=per->outfile assignment; valid, not freed",curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_operate.c,1107,FP,file owned by outs; freed by post_close_output,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1107,FP,"result is CURLcode, not allocation",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1110,FP,config read-only here but curl convention does not const-qualify,curl_full_audit_0.4.35,med
INT13-C,curl,src/tool_operate.c,1118,FP,bitcheck used with 1UL shift; mask is unsigned; benign,curl_full_audit_0.4.35,med
EXP34-C,curl,src/tool_operate.c,1137,FP,per non-NULL by caller; DEBUGASSERT guards,curl_full_audit_0.4.35,med
EXP20-C,curl,src/tool_operate.c,1141,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1170,FP,config read-only but curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1172,FP,u read-only but curl convention does not const-qualify,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1173,FP,outs stored into hdrcbdata; not const-able,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1174,FP,heads stored into hdrcbdata; not const-able,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1175,FP,etag stored into hdrcbdata->etag_save; not const-able,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_operate.c,1194,FP,outs assigned (=&per->outs) before use at 1296,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,1195,FP,heads assigned (=&per->heads) before use at 1287,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,1197,FP,curl assigned from curl_easy_init before use,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1225,FP,glob_cleanup nulls inglob; reused next iteration after repopulation,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1235,FP,glob_url repopulates urlglob; not UAF,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,1272,FP,per from add_per_transfer success; non-NULL,curl_full_audit_0.4.35,med
MEM30-C,curl,src/tool_operate.c,1273,FP,state->uploadfile live (tool_safefree nulls; reused after set),curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,1274,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1274,FP,uploadfile is live string being duplicated; not freed,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1305,FP,urlglob repopulated by glob_url; safefree/cleanup nulls; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1306,FP,glob_next_url reads live urlglob; not UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1307,FP,"urlidx is an index field, not freed memory",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,1308,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,1320,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,1336,FP,per guarded non-NULL (inside if(per->uploadfile)); callee derefs fine,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1362,FP,httpgetfields is live state field; not freed here,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,1363,FP,per non-NULL in this block,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1363,FP,httpgetfields live; passed not freed,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operate.c,1368,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_operate.c,1376,FP,!strcmp idiom; idiomatic,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1391,FP,"urlidx is index field, not freed pointer",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1393,FP,glob_cleanup nulls urlglob; legitimate cleanup,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,1395,FP,tool_safefree nulls uploadfile; safe against double-free,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_operate.c,1450,FP,all_added is single-threaded multi-loop counter; no concurrency,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1470,FP,create_transfer returns CURLcode into result; not allocation,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,1475,FP,"all_added is static int, zero-initialized",curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_operate.c,1503,FP,DEBUGBUILD getenv at startup; single-threaded,curl_full_audit_0.4.35,med
MEM31-C,curl,src/tool_operate.c,1517,FP,create_transfer returns CURLcode; not allocation,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1571,FP,req is libuv callback handle; signature fixed; not const-able,curl_full_audit_0.4.35,med
DCL00-C,curl,src/tool_operate.c,1574,FP,c is a casted pointer used by libuv idiom; const adds no value,curl_full_audit_0.4.35,med
INT13-C,curl,src/tool_operate.c,1576,FP,events is libuv int bitmask; API-defined; benign,curl_full_audit_0.4.35,med
INT13-C,curl,src/tool_operate.c,1578,FP,events libuv bitmask; benign,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1587,FP,req is libuv timer handle; fixed callback signature,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1601,FP,multi unused (void); libcurl callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1621,FP,uv used to init context; not const-able in this helper,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_operate.c,1625,FP,c assigned by curlx_malloc before deref; sqc misses assignment,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_operate.c,1633,FP,"returns c which points to heap (curlx_malloc), not stack",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1636,FP,handle is libuv callback param; fixed signature,curl_full_audit_0.4.35,med
DCL00-C,curl,src/tool_operate.c,1638,FP,c is casted handle->data pointer; const-qualifying low value,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1642,FP,c passed to uv_close which takes non-const; not const-able,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1648,FP,easy unused (void); libcurl socket callback signature fixed,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_operate.c,1678,FP,c assigned (socketp or create_context) before use; branch-merge miss,curl_full_audit_0.4.35,high
ERR05-C,curl,src/tool_operate.c,1684,FP,abort() on impossible default in libuv debug callback; intentional,curl_full_audit_0.4.35,med
CON07-C,curl,src/tool_operate.c,1762,FP,all_added single-threaded multi event loop; no concurrency,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,1779,FP,ended set by curl_easy_getinfo(CURLINFO_PRIVATE) which always returns per,curl_full_audit_0.4.35,high
ERR33-C,curl,src/tool_operate.c,1806,FP,time(NULL) used as tick comparison; -1 failure harmless here,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_operate.c,1829,FP,multi unused (void); libcurl notify callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1830,FP,easy unused (void); callback signature fixed,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_operate.c,1850,FP,share passed to curl_multi/easy setopts; API non-const,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_operate.c,1862,FP,time(NULL) initial tick; -1 failure harmless,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_operate.c,1888,FP,all_added static int zero-initialized,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1940,FP,create_transfer returns CURLcode; not allocation,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,1945,FP,result is CURLcode; not allocation,curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_operate.c,1966,FP,DEBUGBUILD getenv; single-threaded,curl_full_audit_0.4.35,med
MEM31-C,curl,src/tool_operate.c,1999,FP,create_transfer returns CURLcode into returncode; not allocation,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,2033,FP,returncode is CURLcode; not allocation,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_operate.c,2039,FP,using_schannel static cache set once at startup; single-threaded,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,2054,FP,tls_backend_info set when getinfo returns OK; deref guarded by !result,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,2091,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_operate.c,2092,FP,env is curl_getenv heap copy meant to be curl_free'd; not getenv buffer,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,2101,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_operate.c,2102,FP,curl_getenv heap copy; curl_free is correct ownership,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,2110,FP,curlx_strdup declared via curlx header/macro,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,2110,FP,env reassigned by curl_getenv at 2108 before this use; fresh alloc,curl_full_audit_0.4.35,high
ENV30-C,curl,src/tool_operate.c,2111,FP,curl_getenv heap copy; curl_free correct,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_operate.c,2111,FP,env freshly allocated at 2108; freed once here; not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_operate.c,2111,FP,env reassigned before free; single free of current alloc,curl_full_audit_0.4.35,high
MSC07-C,curl,src/tool_operate.c,2140,FP,"code after return is the 'fail:' label, reachable via goto",curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_operate.c,2243,FP,options[] static read-mostly init in single-threaded setup,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_operate.c,2255,FP,loop bounded by NUL terminator options[i]; index<=6 within size 7,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_operate.c,2256,FP,options[i] guarded by loop condition; in-bounds,curl_full_audit_0.4.35,high
CON33-C,curl,src/tool_operate.c,2271,FP,setlocale at single-threaded process startup; advisory,curl_full_audit_0.4.35,med
CON34-C,curl,src/tool_operate.c,2271,FP,duplicate of CON33 at same setlocale site,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_operate.c,2271,FP,"setlocale(LC_ALL,"""") return intentionally ignored; cannot meaningfully fail",curl_full_audit_0.4.35,med
STR30-C,curl,src/tool_operate.c,2271,FP,setlocale takes const char*; does not modify literal,curl_full_audit_0.4.35,high
CON33-C,curl,src/tool_operate.c,2272,FP,setlocale at startup; single-threaded; advisory,curl_full_audit_0.4.35,med
CON34-C,curl,src/tool_operate.c,2272,FP,duplicate of CON33 at same site,curl_full_audit_0.4.35,med
ERR33-C,curl,src/tool_operate.c,2272,FP,"setlocale(LC_NUMERIC,""C"") return ignored; ""C"" always available",curl_full_audit_0.4.35,med
STR30-C,curl,src/tool_operate.c,2272,FP,setlocale takes const char*; literal not modified,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_operate.c,2296,FP,curlrc_path set when parseconfig succeeded (found_curlrc guard),curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_operate.c,2297,FP,curlx_free declared via curlx header/macro,curl_full_audit_0.4.35,high
EXP15-C,curl,src/tool_operate.c,2303,FP,empty body '; /* already done */' is intentional with comment,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/socks.c,71,FP,"Initializer-sized const string array; idiomatic, size implicit by design",curl_full_audit_0.4.35,high
API00-C,curl,lib/socks.c,118,FP,Internal helper always called with valid cf from connect path,curl_full_audit_0.4.35,high
API00-C,curl,lib/socks.c,118,FP,Internal helper; data never NULL on this call path,curl_full_audit_0.4.35,high
API00-C,curl,lib/socks.c,118,FP,"Internal helper; buf is caller-provided GSSAPI buffer, non-NULL",curl_full_audit_0.4.35,high
API00-C,curl,lib/socks.c,118,FP,"blen is buffer space; no overflow-prone arithmetic, just decrement",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/socks.c,118,FP,Infinite for(;;) loop exits only via return; all paths return,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,118,FP,cf->conn/cf->next passed to non-const callees; curl does not const these,curl_full_audit_0.4.35,med
API05-C,curl,lib/socks.c,120,FP,Advisory C99 array-param syntax curl never uses,curl_full_audit_0.4.35,high
INT30-C,curl,lib/socks.c,145,FP,"pnread tracks network bytes read, bounded far below SIZE_MAX",curl_full_audit_0.4.35,high
INT30-C,curl,lib/socks.c,152,FP,blen -= nread; guarded blen!=nread and nread<=blen by recv contract,curl_full_audit_0.4.35,high
INT30-C,curl,lib/socks.c,153,FP,pnread accumulates bounded read counts; no wrap,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,227,FP,cf forwarded to non-const recv helpers; curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/socks.c,261,FP,data param unused/(void) here; const not added project-wide,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/socks.c,389,FP,rlen is out-param set by Curl_bufq_peek before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks.c,415,FP,"Guarded: peek-fail or rlen<8 returns early; resp valid, indices in range",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/socks.c,470,FP,Switch with all cases plus default returning,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socks.c,526,FP,result assigned by Curl_bufq_write at line 525 before test,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socks.c,526,FP,nwritten is out-param set by Curl_bufq_write,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,590,FP,cf (void)cast/forwarded; curl convention does not const,curl_full_audit_0.4.35,med
INT08-C,curl,lib/socks.c,617,FP,"nauths max 3, indexes req[5]; no overflow possible",curl_full_audit_0.4.35,high
INT08-C,curl,lib/socks.c,621,FP,"nauths bounded to 3, GSSAPI increment guarded",curl_full_audit_0.4.35,high
INT08-C,curl,lib/socks.c,626,FP,"nauths bounded, proxy_user increment guarded",curl_full_audit_0.4.35,high
INT08-C,curl,lib/socks.c,629,FP,"req_len = 2+nauths, nauths<=3, fits buffer",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socks.c,645,FP,rlen out-param set by Curl_bufq_peek,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks.c,650,FP,Guarded by peek/rlen<2; resp[0] in range,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,742,FP,cf (void)cast unused; curl convention,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/socks.c,750,FP,rlen out-param set by Curl_bufq_peek,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks.c,756,FP,Guarded by peek/rlen<2; resp[1] in range,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/socks.c,799,FP,"inet_pton ==1 is the correct success test (0=fail,-1=err)",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/socks.c,838,FP,dest[MAX_IPADR_LEN] holds printable addr; no getenv involved,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks.c,882,FP,while(hp && ...) is NULL-safe; loop body only on non-NULL,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/socks.c,962,FP,rlen out-param set by Curl_bufq_peek,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/socks.c,982,FP,Guarded by peek/rlen<resp_len(8); resp indices in range,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/socks.c,993,FP,Initializer-sized const lookup table; idiomatic,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/socks.c,1045,FP,Switch all cases plus default return,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/socks.c,1235,FP,"cf->ctx = sx = calloc() is two well-defined assignments, no UB",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1307,FP,"cf_free frees cf->ctx only, not cf; cf->connected access valid",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/socks.c,1308,FP,sx==cf->ctx freed by socks_proxy_cf_free at 1303; not leaked,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1346,FP,"cf_free frees cf->ctx only; cf itself not freed, do_close valid",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1346,FP,cf not freed by cf_free (only cf->ctx); member access valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1346,FP,cf not freed; cf->next access valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1346,FP,cf not freed; cf->next->cft access valid,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/socks.c,1346,FP,cf not freed; do_close member access valid,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,1350,FP,destroy is a vtable function-pointer impl; signature fixed by typedef,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/socks.c,1356,FP,query is a vtable impl; signature fixed by Curl_cftype typedef,curl_full_audit_0.4.35,med
STR34-C,curl,lib/socks.c,1373,FP,"palpn is const char**; *palpn=NULL is pointer assign, not char",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/socks.c,1403,FP,data (void)cast unused; curl convention,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/curlx/base64.c,32,FP,"curlx_base64encdec is intentionally external, used across translation units",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curlx/base64.c,32,FP,Exported const table; external linkage required,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/curlx/base64.c,40,FP,Initializer-sized const decode table; idiomatic,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,61,FP,Advisory array-param syntax curl never uses,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,62,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/base64.c,99,FP,curlx_malloc declared via curlx headers from curl_setup.h,curl_full_audit_0.4.35,high
STR04-C,curl,lib/curlx/base64.c,106,FP,memcpy of binary decode table; unsigned char is correct type,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/curlx/base64.c,106,FP,"decodetable is file-scope array, not a param; sizeof valid (80)",curl_full_audit_0.4.35,high
EXP05-C,curl,lib/curlx/base64.c,106,FP,sizeof(decodetable) misparsed as cast; no cast present,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curlx/base64.c,115,FP,lookup memset 0xff and memcpy at lines 105-106 before loop reads,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,121,FP,"'x' is an unsigned int local, not a FILE stream; misfire",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,121,FP,"'x' is a local integer, no file stream",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curlx/base64.c,140,FP,lookup initialized at 105-106 before this padding loop,curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,143,FP,"'x' is integer local, no FILE stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,143,FP,"'x' is integer local, no FILE stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,147,FP,"'x' is integer local, no FILE stream",curl_full_audit_0.4.35,high
FIO50-C,curl,lib/curlx/base64.c,147,FP,"'x' is integer local, no FILE stream",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/base64.c,156,FP,"newstr is heap (curlx_malloc), ownership transferred to *outptr",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/curlx/base64.c,160,FP,bad: label reachable via goto from error branches,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/base64.c,161,FP,curlx_free declared via curlx headers,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,165,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,167,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,168,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,174,FP,*outptr=NULL pointer init; not a char sign-extension issue,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/base64.c,185,FP,curlx_malloc declared via curlx headers,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curlx/base64.c,187,FP,"OOM return; output is NULL, base64data unset — nothing leaked",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,190,FP,Writing ASCII base64 table char into char buffer; no sign issue,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,191,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,192,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,193,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,199,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,201,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,203,FP,padbyte ('=' or 0) into char buffer; no sign issue,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,204,FP,padbyte into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,209,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,210,FP,ASCII base64 char into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,212,FP,padbyte into char buffer,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,217,FP,*output='\0' terminator; no sign-extension issue,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/base64.c,220,FP,base64data is heap-allocated; ownership transferred to *outptr,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/base64.c,220,FP,"*outptr=base64data pointer assign, not char sign-extension",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curlx/base64.c,225,FP,"Success return; base64data ownership passed to *outptr, not leaked",curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/base64.c,241,FP,Thin wrapper; base64_encode handles insize and inputbuff,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,241,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,242,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,263,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.c,264,FP,Advisory array-param syntax,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_ssls.c,24,FP,curl ships these headers; long-filename ambiguity not a real defect,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_ssls.c,55,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_ssls.c,55,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_ssls.c,55,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
FIO42-C,curl,src/tool_ssls.c,69,FP,fp/ctx.fp closed via curlx_fclose at out: label,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_ssls.c,69,FP,fp/ctx.fp closed via curlx_fclose at out: label,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,86,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_ssls.c,91,FP,"writing '\0' through char*, not a sign-extending read",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,92,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,92,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_ssls.c,100,FP,"writing '\0' through char*, not a sign-extending read",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,103,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,103,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,109,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,109,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,109,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,109,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,109,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_ssls.c,128,FP,curlx_free is a macro/declared in curl headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,128,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_ssls.c,129,FP,curlx_free is a macro/declared in curl headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,129,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_ssls.c,138,FP,easy matches fixed curl callback typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_ssls.c,138,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_ssls.c,139,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_ssls.c,140,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_ssls.c,141,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_ssls.c,143,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
PRE32-C,curl,src/tool_ssls.c,156,FP,"adjacent string-literal concatenation, no real preprocessor directive in call",curl_full_audit_0.4.35,high
PRE32-C,curl,src/tool_ssls.c,156,FP,"adjacent string-literal concatenation, no real preprocessor directive in call",curl_full_audit_0.4.35,high
FIO18-C,curl,src/tool_ssls.c,164,FP,enc_len is exact base64 output length; correct fwrite count,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,164,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,169,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,169,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
FIO18-C,curl,src/tool_ssls.c,173,FP,enc_len is exact base64 output length; correct fwrite count,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,173,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_ssls.c,183,FP,curlx_free is a macro/declared in curl headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_ssls.c,183,FP,tool_safefree nulls; base64_decode reallocs fresh; no UAF/double-free,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_ssls.c,187,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_ssls.c,187,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_ssls.c,187,FP,"caller-guaranteed non-NULL config/share/filename; tool-internal entry, no deref crash",curl_full_audit_0.4.35,med
FIO42-C,curl,src/tool_ssls.c,195,FP,fp/ctx.fp closed via curlx_fclose at out: label,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_ssls.c,195,FP,fp/ctx.fp closed via curlx_fclose at out: label,curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_ssls.c,205,FP,pointer guarded non-NULL (just allocated/decoded or success-checked) before use,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,100,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,151,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,236,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,251,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,253,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,273,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,295,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,311,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,313,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,334,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
API01-C,curl,lib/content_encoding.c,355,FP,fixed-size decompress buffer with bounded writes; layout advisory only,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/content_encoding.c,395,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,398,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/content_encoding.c,401,FP,"BrotliDecoderCreateInstance args are NULL,NULL,NULL; no aliasing",curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,407,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,409,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/content_encoding.c,414,FP,r reassigned each loop iteration; cannot be const,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,450,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,453,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,481,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,481,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,487,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,494,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,497,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,515,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,516,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,519,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,553,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/content_encoding.c,556,FP,downcast of non-const Curl_cwriter* to writer subtype; no const removed,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/content_encoding.c,586,FP,NULL-terminated initializer array; implicit bounds idiomatic,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/content_encoding.c,602,FP,NULL-terminated initializer array; implicit bounds idiomatic,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,631,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,632,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,640,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,641,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,653,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,654,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
API05-C,curl,lib/content_encoding.c,670,FP,curl never uses C99 array-param syntax; advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/content_encoding.c,697,FP,"enclist iterated NULL-safe; data is core handle, callers guarantee",curl_full_audit_0.4.35,med
API00-C,curl,lib/content_encoding.c,697,FP,"enclist iterated NULL-safe; data is core handle, callers guarantee",curl_full_audit_0.4.35,med
EXP33-C,curl,lib/content_encoding.c,721,FP,"cwt/writer assigned before use (find_writer/error_writer, cwriter_create)",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/content_encoding.c,722,FP,"cwt/writer assigned before use (find_writer/error_writer, cwriter_create)",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/content_encoding.c,807,FP,cwriter vtable/callback signature fixed by Curl_cwtype typedef; const not addable,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,70,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/curl_addrinfo.c,70,FP,freed/iterated through pointer; free() needs non-const; const inapplicable,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/curl_addrinfo.c,77,FP,curlx_calloc/curlx_free are macros declared in curl headers,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,95,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_addrinfo.c,95,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
WIN04-C,curl,lib/curl_addrinfo.c,123,FP,EncodePointer Windows-hardening advisory; not applicable here,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_addrinfo.c,124,FP,"ss_size/addrsize assigned in family branch; else continues/returns, use guarded",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_addrinfo.c,155,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_addrinfo.c,159,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_addrinfo.c,195,FP,"pointer assigned/returned is heap (malloc/calloc), not automatic storage",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_addrinfo.c,278,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_addrinfo.c,280,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curl_addrinfo.c,305,FP,loop cond (curr=...)!=NULL guarantees non-NULL before use,curl_full_audit_0.4.35,high
WIN04-C,curl,lib/curl_addrinfo.c,360,FP,EncodePointer Windows-hardening advisory; not applicable here,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_addrinfo.c,361,FP,"ss_size/addrsize assigned in family branch; else continues/returns, use guarded",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curl_addrinfo.c,367,FP,curlx_calloc/curlx_free are macros declared in curl headers,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/curl_addrinfo.c,371,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_addrinfo.c,399,FP,"pointer assigned/returned is heap (malloc/calloc), not automatic storage",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_addrinfo.c,411,FP,inet_pton writes 'in' (output); not read uninitialized,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/curl_addrinfo.c,428,FP,inet_pton writes 'in' (output); not read uninitialized,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,447,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
ARR39-C,curl,lib/curl_addrinfo.c,460,FP,"(char*)p + sizeof correct byte arithmetic, not double scaling",curl_full_audit_0.4.35,high
INT14-C,curl,lib/curl_addrinfo.c,476,FP,"& 0x7FFFFFFF mask of offsetof sum is intentional, not readability defect",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_addrinfo.c,484,FP,"pointer assigned/returned is heap (malloc/calloc), not automatic storage",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,497,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_addrinfo.c,497,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
ERR33-C,curl,lib/curl_addrinfo.c,506,FP,env checked with if(env) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_addrinfo.c,506,FP,"getenv thread-static advisory; memdebug-only path, single-use",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_addrinfo.c,508,FP,frees are in mutually-exclusive #if/#elif/#else branches; one compiled,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_addrinfo.c,511,FP,frees are in mutually-exclusive #if/#elif/#else branches; one compiled,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/curl_addrinfo.c,515,FP,frees are in mutually-exclusive #if/#elif/#else branches; one compiled,curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,528,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_addrinfo.c,528,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_addrinfo.c,528,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
API00-C,curl,lib/curl_addrinfo.c,528,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
STR34-C,curl,lib/curl_addrinfo.c,535,FP,"char* passed to %s/getaddrinfo, not converted to integer",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_addrinfo.c,535,FP,"char* passed to %s/getaddrinfo, not converted to integer",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curl_addrinfo.c,538,FP,env checked with if(env) before use,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_addrinfo.c,538,FP,"getenv thread-static advisory; memdebug-only path, single-use",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_addrinfo.c,546,FP,"char* passed to %s/getaddrinfo, not converted to integer",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_addrinfo.c,546,FP,"char* passed to %s/getaddrinfo, not converted to integer",curl_full_audit_0.4.35,high
API00-C,curl,lib/curl_addrinfo.c,563,FP,"callers guarantee non-NULL; debug/free wrappers, no crash path",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/curl_addrinfo.c,563,FP,freed/iterated through pointer; free() needs non-const; const inapplicable,curl_full_audit_0.4.35,med
API05-C,curl,src/tool_progress.c,32,FP,curl never uses C99 array-param syntax; advisory style convention,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_progress.c,35,FP,implicit bounds from brace initializer is idiomatic and correct,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_progress.c,89,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_progress.c,124,FP,CLI progress meter is single-threaded; no concurrency,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_progress.c,125,FP,single-threaded CLI progress accounting; no shared-thread access,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_progress.c,126,FP,single-threaded; not a concurrency concern,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_progress.c,127,FP,single-threaded; not a concurrency concern,curl_full_audit_0.4.35,high
CON07-C,curl,src/tool_progress.c,152,FP,single-threaded progress meter; no concurrent access to statics,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_progress.c,152,TP,"start only read via *start; could be const, not a fn-pointer signature",curl_full_audit_0.4.35,low
CON03-C,curl,src/tool_progress.c,155,FP,single-threaded; header static not concurrently accessed,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_progress.c,163,FP,static stamp is zero-initialized per C standard,curl_full_audit_0.4.35,high
PRE32-C,curl,src/tool_progress.c,167,FP,"adjacent string-literal concatenation, not preprocessor directive",curl_full_audit_0.4.35,high
PRE32-C,curl,src/tool_progress.c,167,FP,string-literal concatenation misread as preprocessor directive,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_progress.c,177,FP,dlpercen written by curl_msnprintf at line 213; not const-eligible,curl_full_audit_0.4.35,high
DCL00-C,curl,src/tool_progress.c,178,FP,ulpercen written by curl_msnprintf at line 219; not const-eligible,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,215,FP,guarded by if(dlknown && all_dltotal) at line 212,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,216,FP,guarded non-zero all_dltotal; /100 branch only at astronomically large values,curl_full_audit_0.4.35,med
INT33-C,curl,src/tool_progress.c,221,FP,guarded by if(ulknown && all_ultotal) at line 218,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,222,FP,guarded non-zero all_ultotal; /100 branch only at huge values,curl_full_audit_0.4.35,med
EXP33-C,curl,src/tool_progress.c,226,FP,static speedindex is zero-initialized per C standard,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_progress.c,227,FP,i=speedindex bounded <SPEEDCNT via wrap at line 230,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_progress.c,227,FP,"assigning curl_off_t value to global array element, not a stack-pointer escape",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_progress.c,228,FP,index bounded <SPEEDCNT,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_progress.c,228,FP,scalar assignment to global array element; no pointer escape,curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_progress.c,229,FP,index bounded <SPEEDCNT,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_progress.c,229,FP,struct assignment to global array element; no pointer escape,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_progress.c,241,FP,static indexwrapped is zero-initialized per C standard,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_progress.c,243,FP,"read only when indexwrapped, i.e. all SPEEDCNT slots written",curl_full_audit_0.4.35,high
FLP03-C,curl,src/tool_progress.c,255,FP,FP exception checking advisory; not required for progress display,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_progress.c,255,FP,integer-to-double for rate display; no overflow risk,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,255,FP,deltams forced non-zero at lines 253-254 before division,curl_full_audit_0.4.35,high
FLP03-C,curl,src/tool_progress.c,255,FP,FP exception checking advisory,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_progress.c,255,FP,double conversion for display; no range issue,curl_full_audit_0.4.35,high
FLP03-C,curl,src/tool_progress.c,256,FP,FP exception checking advisory,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_progress.c,256,FP,double conversion for display; no range issue,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,256,FP,deltams forced non-zero before division,curl_full_audit_0.4.35,high
FLP03-C,curl,src/tool_progress.c,256,FP,FP exception checking advisory,curl_full_audit_0.4.35,high
FLP34-C,curl,src/tool_progress.c,256,FP,double conversion for display; no range issue,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,261,FP,guarded by if(dlknown && speed) at line 260,curl_full_audit_0.4.35,high
INT33-C,curl,src/tool_progress.c,262,FP,guarded by if(dlknown && speed) at line 260,curl_full_audit_0.4.35,high
EXP30-C,curl,src/tool_progress.c,274,FP,max5data calls write distinct buffer[0..2]; no aliasing/unsequenced hazard,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_progress.c,290,FP,buffer filled by max5data via snprintf before being read by printf,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_progress.c,304,FP,per always valid from caller; internal helper not exported API,curl_full_audit_0.4.35,high
API05-C,curl,lib/idn.c,52,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/idn.c,53,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,60,FP,"iconv pointer arithmetic, not a signed-char-to-int read",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,60,FP,iconv API pointer handling; no sign-extension defect,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,61,FP,iconv out pointer; not a char promotion,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,85,FP,strlen on const char*; no signed-char promotion,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,103,FP,char* assignment from strdup; not a char value sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,119,FP,strlen on const char*; no signed-char promotion,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,131,FP,char* assignment from strdup; not sign-extension,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/idn.c,151,FP,WideCharToMultiByte API call; no alignment violation,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/idn.c,168,FP,"wchar_t in_w buffer used with MultiByteToWideChar, not getenv",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,170,FP,"*out=NULL pointer init, not char sign-extension",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/idn.c,176,FP,"punycode wchar buffer for IdnToAscii, no environment variable",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,179,FP,"char* assignment, not char sign-extension",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/idn.c,194,FP,"wchar in_w buffer with MultiByteToWideChar, no getenv",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,196,FP,"*out=NULL pointer init, not char sign-extension",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/idn.c,202,FP,"idn wchar buffer for IdnToUnicode, no environment variable",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,205,FP,"char* assignment, not char sign-extension",curl_full_audit_0.4.35,high
EXP00-C,curl,lib/idn.c,254,FP,preprocessor #if text merged with flag |; no real precedence bug,curl_full_audit_0.4.35,high
EXP46-C,curl,lib/idn.c,254,FP,| is bitwise flag OR of IDN2 constants; #if comparison misparsed,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,261,FP,IDN2_LOOKUP macro args; no char sign-extension defect,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,261,FP,char** out param to libidn2; not a char read,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,261,FP,decoded char** to libidn2; not sign-extension,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/idn.c,278,FP,"*output=decoded assigns heap pointer value, not address of a local",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,278,FP,char* assignment; not char sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,286,FP,idn2_to_unicode args; not a char read,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,286,FP,enc char** out param; not sign-extension,curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,286,FP,char* handling; not sign-extension,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/idn.c,298,FP,"*output=enc assigns heap pointer value, not address of local",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,298,FP,char* assignment; not sign-extension,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/idn.c,308,FP,c is a pointer reassigned to d; const-qualify is low-value advisory,curl_full_audit_0.4.35,med
ARR00-C,curl,lib/idn.c,317,FP,"d at 317 is the strdup copy (c); original freed, copy not freed",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/idn.c,317,FP,d non-NULL: idn2 success yields decoded then successful strdup copy,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/idn.c,317,FP,"no use-after-free; d points to strdup copy, not freed memory",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/idn.c,319,FP,single free of copy c; idn2_free freed distinct original,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/idn.c,319,FP,no double free; curlx_free frees strdup copy once,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/idn.c,322,FP,"*output=d assigns heap pointer value, not local address",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,322,FP,char* assignment; not sign-extension,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/idn.c,333,FP,c is a pointer reassigned to d; const advisory low-value,curl_full_audit_0.4.35,med
DCL30-C,curl,lib/idn.c,342,FP,"*output=d assigns heap pointer value, not local address",curl_full_audit_0.4.35,high
STR34-C,curl,lib/idn.c,342,FP,char* assignment; not sign-extension,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/idn.c,349,FP,host->encalloc modified via Curl_safefree; host correctly non-const,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,29,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,30,FP,conformant array syntax advisory; curl convention,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/dynhds.c,38,FP,curlx_calloc declared via curl headers; allocator macro,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/dynhds.c,38,FP,e assigned by calloc then NULL-checked; not used uninitialized,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/dynhds.c,41,FP,(char*)e + sizeof(*e) is byte arithmetic; no double scaling,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/dynhds.c,41,FP,e is not const; cast is for byte pointer arithmetic,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,42,FP,buffer sized exactly namelen+valuelen+2 at calloc line 38,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/dynhds.c,42,FP,p derived from e which was NULL-checked at line 39,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,45,FP,buffer sized for valuelen at allocation; bounded,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/dynhds.c,45,FP,"dest is entry buffer, src is caller value; non-overlapping",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/dynhds.c,48,FP,Curl_strntolower not restrict; in-place lowercasing is intended/safe,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/dynhds.c,49,FP,"e is heap from calloc, not automatic-storage local",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/dynhds.c,54,FP,curlx_free declared via curl headers,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/dynhds.c,97,FP,stable getter signature in vtable-style API family; curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/dynhds.c,113,FP,stable lookup signature; curl const convention not applied here,curl_full_audit_0.4.35,med
API05-C,curl,lib/dynhds.c,113,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/dynhds.c,131,FP,namelen bounded by max_strs_size check at line 141; no overflow,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,132,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,133,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/dynhds.c,144,FP,entry freed at out: label; set NULL on success path line 167,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/dynhds.c,155,FP,curlx_calloc declared via curl headers,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,159,FP,nhds allocated nallc>=hds_len; memcpy bounded by hds_len,curl_full_audit_0.4.35,high
INT32-C,curl,lib/dynhds.c,159,FP,hds_len bounded by max_entries; no realistic overflow,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/dynhds.c,166,FP,hds reassigned to nhds at 163; old freed copy not accessed,curl_full_audit_0.4.35,high
API00-C,curl,lib/dynhds.c,183,FP,line_len validated (!line_len early return); offsets bounded,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,184,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,208,FP,valuelen derived from line_len bounds; memchr bounded,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,210,FP,valuelen bounded by line_len; memchr within bounds,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,226,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/dynhds.c,236,FP,stable count-name signature; curl const convention,curl_full_audit_0.4.35,med
API05-C,curl,lib/dynhds.c,237,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,257,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,258,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
API00-C,curl,lib/dynhds.c,264,FP,namelen used only in comparisons/subtraction of tracked lengths; bounded,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.c,265,FP,conformant array syntax advisory,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/dynhds.c,280,FP,len=hds_len-i remaining entries; memmove within hds array bounds,curl_full_audit_0.4.35,high
INT32-C,curl,lib/dynhds.c,280,FP,len bounded by hds_len; pointer-array size no overflow,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/dynhds.c,281,FP,"sizeof(hds[i]) is sizeof(pointer), intended element size; hds is real member",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/dynhds.c,297,FP,stable dprint signature; curl const convention,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/dynhds.c,319,FP,to_nva reads dynhds; stable API signature convention,curl_full_audit_0.4.35,med
DCL00-C,curl,lib/dynhds.c,329,FP,"e read-only loop alias; const advisory low-value, idiomatic",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vssh/vssh.c,37,FP,Implicit bounds on initialized const string array is idiomatic and safe,curl_full_audit_0.4.35,high
API00-C,curl,lib/vssh/vssh.c,109,FP,Internal state setter; callers guarantee non-NULL sshc per curl convention,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/vssh.c,115,FP,"Two statename() calls only read state; no side effects, no UB",curl_full_audit_0.4.35,high
API00-C,curl,lib/vssh/vssh.c,128,FP,Internal helper; data always valid from caller,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vssh/vssh.c,128,FP,data fields read via data->conn/state; curl does not const-qualify these,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/vssh/vssh.c,147,FP,working_path_len set by Curl_urldecode out-param (macro-opaque to sqc),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/vssh.c,147,FP,"!memcmp idiom, idiomatic in curl path handling",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/vssh.c,147,FP,working_path set by Curl_urldecode out-param before use,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/vssh.c,147,FP,result-guarded: non-NULL after urldecode success return-check,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/vssh.c,155,FP,!strcmp idiom,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vssh/vssh.c,156,FP,!memcmp idiom,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vssh/vssh.c,168,FP,p=dyn_ptr guarded by 'if(len && ...)'; non-NULL when len>0,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vssh/vssh.c,171,FP,working_path freed only in error branches with return; line 171 read before any free,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,189,FP,char deref sign-extension false alarm; categorical FP,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vssh/vssh.c,192,FP,"working_path is heap (urldecode), not local stack; valid to return",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,192,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,202,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,207,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,208,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,219,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,219,FP,cp points into a string buffer; pointer arithmetic valid,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vssh/vssh.c,222,FP,while(*cp!=quot) bounded by NUL terminator (if(!*cp) goto fail),curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,227,FP,cp traverses string buffer; valid pointer arithmetic,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,234,FP,cp traverses string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,236,FP,cp traverses string buffer; valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,246,FP,cp[0] on string buffer; valid subscript,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,246,FP,cp[1] on string buffer; valid subscript,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,246,FP,cp[2] on string buffer; valid subscript,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/vssh/vssh.c,252,FP,cp+=3 on string buffer; valid,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vssh/vssh.c,268,FP,curlx_str/curlx_strlen are pure accessors on same word; no side effects,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vssh/vssh.c,277,FP,"cp points into caller's string, not a local; valid out-assignment",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,277,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,279,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/vssh/vssh.c,282,FP,fail: label reachable via goto; not unreachable code,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,293,FP,char sign-extension false alarm in str_number wrapper,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vssh/vssh.c,293,FP,char sign-extension false alarm,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vssh/vssh.c,313,FP,from set by curlx_str_number out-param; overflow-checked before use,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/vssh/vssh.c,338,FP,"Curl_scheme_sftp exported, referenced via header; needs external linkage",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/vssh/vssh.c,338,FP,Exported scheme table; cannot reduce scope,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/vssh/vssh.c,352,FP,"Curl_scheme_scp exported, referenced via header",curl_full_audit_0.4.35,high
DCL19-C,curl,lib/vssh/vssh.c,352,FP,Exported scheme table; cannot reduce scope,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,24,FP,8-char header collision irrelevant on modern filesystems,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,32,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,32,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,32,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,32,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,36,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,36,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,36,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,37,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,37,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
PRE08-C,curl,src/config2setopts.c,38,FP,8-char header collision irrelevant,curl_full_audit_0.4.35,high
DCL13-C,curl,src/config2setopts.c,62,FP,sockopt_callback signature fixed by CURLOPT_SOCKOPTFUNCTION typedef,curl_full_audit_0.4.35,high
CON03-C,curl,src/config2setopts.c,114,FP,"static ssl_ver in CLI tool; one-time benign init, not multithreaded",curl_full_audit_0.4.35,high
DCL00-C,curl,src/config2setopts.c,114,FP,ssl_ver written by msnprintf; cannot be const,curl_full_audit_0.4.35,high
CON03-C,curl,src/config2setopts.c,115,FP,static 'already' guard; CLI tool not multithreaded here,curl_full_audit_0.4.35,high
ARR00-C,curl,src/config2setopts.c,123,FP,"ssl_ver is static storage, not a local array; safe to return",curl_full_audit_0.4.35,high
STR34-C,curl,src/config2setopts.c,137,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
EXP34-C,curl,src/config2setopts.c,153,FP,schemep set by curl_url_get on uc==0 success; non-NULL,curl_full_audit_0.4.35,high
EXP34-C,curl,src/config2setopts.c,165,FP,curl_free is NULL-safe; schemep non-NULL anyway,curl_full_audit_0.4.35,high
STR34-C,curl,src/config2setopts.c,177,FP,char deref sign-extension false alarm,curl_full_audit_0.4.35,high
DCL13-C,curl,src/config2setopts.c,277,FP,config passed to setopt helpers; curl convention does not const-qualify,curl_full_audit_0.4.35,med
DCL13-C,curl,src/config2setopts.c,333,FP,config not const-qualified per curl setopt convention,curl_full_audit_0.4.35,med
DCL13-C,curl,src/config2setopts.c,490,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
STR30-C,curl,src/config2setopts.c,569,FP,""""" passed to CURLOPT_ACCEPT_ENCODING which copies; const-safe",curl_full_audit_0.4.35,high
DCL13-C,curl,src/config2setopts.c,598,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,src/config2setopts.c,623,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
EXP33-C,curl,src/config2setopts.c,653,FP,result assigned by MY_SETOPT_STR macro at line 631 (macro-opaque to sqc),curl_full_audit_0.4.35,high
DCL13-C,curl,src/config2setopts.c,665,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
EXP34-C,curl,src/config2setopts.c,694,FP,per always valid from caller; gen_cb_setopts derefs it throughout,curl_full_audit_0.4.35,high
EXP20-C,curl,src/config2setopts.c,694,FP,!strcmp idiom for stdin '.' check,curl_full_audit_0.4.35,high
EXP33-C,curl,src/config2setopts.c,751,FP,result assigned by if(config->proxy) or MY_SETOPT_STR macro before use,curl_full_audit_0.4.35,high
DCL13-C,curl,src/config2setopts.c,754,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
DCL13-C,curl,src/config2setopts.c,811,FP,config not const-qualified per curl convention,curl_full_audit_0.4.35,med
ENV34-C,curl,src/config2setopts.c,814,FP,getenv result used immediately in DEBUGBUILD; not stored long-term,curl_full_audit_0.4.35,high
ERR33-C,curl,src/config2setopts.c,814,FP,env checked by 'if(env)' on next line before use,curl_full_audit_0.4.35,high
CON34-C,curl,src/config2setopts.c,814,FP,DEBUGBUILD-only single-threaded use of getenv,curl_full_audit_0.4.35,high
ENV30-C,curl,src/config2setopts.c,818,FP,curlx_str_number only reads p (advances local copy); does not modify env,curl_full_audit_0.4.35,high
API00-C,curl,src/config2setopts.c,830,FP,per always valid from caller (tool_operate); internal entry point,curl_full_audit_0.4.35,high
API00-C,curl,src/config2setopts.c,830,FP,curl handle always valid from caller,curl_full_audit_0.4.35,high
EXP34-C,curl,src/config2setopts.c,836,FP,per->url valid; per guaranteed non-NULL by caller,curl_full_audit_0.4.35,high
EXP33-C,curl,src/config2setopts.c,910,FP,use_proto set by url_proto_and_rewrite out-param at line 836,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/urlapi.c,40,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/urlapi.c,40,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
PRE00-C,curl,lib/urlapi.c,48,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/urlapi.c,48,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/urlapi.c,86,FP,free_urlhandle writes through u (frees members); cannot be const,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,88,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,89,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,90,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,91,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,92,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,93,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,94,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,95,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,96,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,97,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,107,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/urlapi.c,117,FP,"find_host_sep returns pointer into url arg buffer, not a local",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,130,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,151,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR00-C,curl,lib/urlapi.c,158,FP,"unsigned char buf for hex byte output; intentional, not a char array",curl_full_audit_0.4.35,med
API05-C,curl,lib/urlapi.c,182,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,182,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API00-C,curl,lib/urlapi.c,223,FP,param validated via DEBUGASSERT/guarded callers; no unchecked deref,curl_full_audit_0.4.35,med
API05-C,curl,lib/urlapi.c,223,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,225,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,225,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,249,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
MEM03-C,curl,lib/urlapi.c,257,FP,"passwdp moved into u->password, not a transient secret buffer",curl_full_audit_0.4.35,med
DCL31-C,curl,lib/urlapi.c,305,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,310,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,315,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/urlapi.c,323,FP,code after return is inside other branches; tree-sitter misparse,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,325,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,326,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,327,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,343,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,361,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,361,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,380,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,382,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,390,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,394,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/urlapi.c,409,FP,h reassigned later in same scope; const would break code,curl_full_audit_0.4.35,low
STR34-C,curl,lib/urlapi.c,409,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/urlapi.c,411,FP,"!strcmp/!strncmp boolean idiom, standard curl convention",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,414,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,414,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,418,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,444,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,452,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,491,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/urlapi.c,494,FP,while(*p) on NUL-terminated string; bounded by terminator,curl_full_audit_0.4.35,high
CON43-C,curl,lib/urlapi.c,513,FP,"single-threaded URL parse switch on *c; no concurrency, no double-fetch",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,582,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,595,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,595,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,596,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/urlapi.c,604,FP,"ipv4_normalize switch(n) covers 0-3 exhaustively, all return",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,605,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/urlapi.c,638,FP,"dyn_ptr+dyn_len on same dynbuf, no mutation between; well-defined",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/urlapi.c,643,FP,"dyn_ptr+dyn_len on same dynbuf, no mutation between; well-defined",curl_full_audit_0.4.35,high
API00-C,curl,lib/urlapi.c,658,FP,param validated via DEBUGASSERT/guarded callers; no unchecked deref,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/urlapi.c,671,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,682,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,684,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR00-C,curl,lib/urlapi.c,691,FP,"unsigned char buf for hex byte output; intentional, not a char array",curl_full_audit_0.4.35,med
STR34-C,curl,lib/urlapi.c,692,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
API02-C,curl,lib/urlapi.c,715,FP,"outp is char** out-param; size arg inapplicable, advisory",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,715,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,715,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API00-C,curl,lib/urlapi.c,716,FP,param validated via DEBUGASSERT/guarded callers; no unchecked deref,curl_full_audit_0.4.35,med
DCL15-C,curl,lib/urlapi.c,716,FP,dedotdotify is UNITTEST-exported symbol; intentionally non-static,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/urlapi.c,716,FP,dedotdotify is UNITTEST-exported symbol; intentionally non-static,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,716,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,716,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,721,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,721,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,737,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,758,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,759,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,759,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/urlapi.c,759,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,807,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
STR34-C,curl,lib/urlapi.c,813,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,813,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,815,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,815,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,815,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,823,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,824,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,835,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,835,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,838,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/urlapi.c,848,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,848,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
STR34-C,curl,lib/urlapi.c,850,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/urlapi.c,850,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,871,FP,drive-prefix macro reads [0..2] after length guards; safe,curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,876,FP,ptr+=9 after checkprefix matched 10-byte prefix; in bounds,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/urlapi.c,907,FP,both pointers index the same url/base buffer; subtraction valid,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/urlapi.c,917,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,917,FP,drive-prefix macro reads [0..2] after length guards; safe,curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,917,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,918,FP,drive-prefix macro reads [0..2] after length guards; safe,curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,924,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,924,FP,drive-prefix macro reads [0..2] after length guards; safe,curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,924,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
ARR37-C,curl,lib/urlapi.c,926,FP,"subscript/increment on string pointer; valid C, points into buffer",curl_full_audit_0.4.35,med
DCL30-C,curl,lib/urlapi.c,930,FP,"out-param assigned pointer into caller's url/part buffer, outlives fn",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,930,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,935,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,935,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/urlapi.c,935,FP,"schemebuf passed to printf %s; const-qualify cosmetic, not a defect",curl_full_audit_0.4.35,med
API05-C,curl,lib/urlapi.c,937,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,944,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,959,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,973,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,977,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1004,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,1012,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,1036,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1059,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,1066,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1098,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1098,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1098,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,1101,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1102,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/urlapi.c,1114,FP,"schemebuf/portbuf fixed buffers for scheme/port, not getenv result",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/urlapi.c,1114,FP,"fixed-size stack array schemebuf[MAX+1]/portbuf[7], not VLA",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/urlapi.c,1133,FP,"!strcmp/!strncmp boolean idiom, standard curl convention",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1144,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1144,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1144,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/urlapi.c,1147,FP,both pointers index the same url/base buffer; subtraction valid,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1149,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1165,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1167,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1167,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1176,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1176,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1206,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1236,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1236,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/urlapi.c,1262,FP,cutoff/protsep both within base buffer; defined subtraction,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1290,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1297,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1297,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/urlapi.c,1297,FP,free on disjoint branch (success vs nomem); not reached twice,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/urlapi.c,1301,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
PRE01-C,curl,lib/urlapi.c,1301,FP,"DUP macro param used as struct member name, parenthesizing inapplicable",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/urlapi.c,1301,FP,"char-class macro evaluates [0..2]; well-known idiom, no side-effecting args",curl_full_audit_0.4.35,med
DCL31-C,curl,lib/urlapi.c,1312,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/urlapi.c,1329,FP,code after return is inside other branches; tree-sitter misparse,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1362,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1362,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1368,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP40-C,curl,lib/urlapi.c,1373,FP,*plus=part assigns const-stripped; intentional in/out aliasing,curl_full_audit_0.4.35,med
STR34-C,curl,lib/urlapi.c,1377,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1386,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,1389,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,1390,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1395,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1396,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1396,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1404,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1405,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1405,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1414,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1415,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1415,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/urlapi.c,1421,FP,"out-param assigned pointer into caller's url/part buffer, outlives fn",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1421,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/urlapi.c,1452,FP,"schemebuf/portbuf fixed buffers for scheme/port, not getenv result",curl_full_audit_0.4.35,high
MEM05-C,curl,lib/urlapi.c,1452,FP,"fixed-size stack array schemebuf[MAX+1]/portbuf[7], not VLA",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1533,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/urlapi.c,1537,FP,"out-param assigned pointer into caller's url/part buffer, outlives fn",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1537,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1552,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,1592,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1639,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
INT07-C,curl,lib/urlapi.c,1654,FP,s is char holding scheme byte for ISALNUM; range-safe,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/urlapi.c,1679,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
API05-C,curl,lib/urlapi.c,1685,FP,"C99 conformant-array-param syntax; curl never uses it, advisory style",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1704,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1728,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1737,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/urlapi.c,1805,FP,"set_url calls parseurl/redirect_url, never back to curl_url_set",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1851,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1858,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1864,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1868,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
STR00-C,curl,lib/urlapi.c,1908,FP,"unsigned char buf for hex byte output; intentional, not a char array",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/urlapi.c,1922,FP,while(*p) on NUL-terminated string; bounded by terminator,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1922,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1940,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1940,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1941,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/urlapi.c,1946,FP,free-then-reassign or Curl_safefree-null or distinct member; no UAF/DF,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1956,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1957,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/urlapi.c,1959,FP,code after return is inside other branches; tree-sitter misparse,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/urlapi.c,1960,FP,free on disjoint branch (success vs nomem); not reached twice,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1980,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/urlapi.c,1981,FP,ptr from dyn_ptr (non-NULL) or guarded by prior length/null check,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/urlapi.c,1981,FP,decoded/dlen/dedot/portbuf are out-params or set before use,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1983,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/urlapi.c,1994,FP,curlx_free/strdup/calloc are macros in curl_setup.h expanding to declared fns,curl_full_audit_0.4.35,high
STR34-C,curl,lib/urlapi.c,1995,FP,"char* deref/sign-extension on string bytes; idiomatic, no real bug",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vtls/openssl.c,151,FP,"BIGNUM decl macro; param use safe, no precedence issue",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vtls/openssl.c,154,FP,"BIGNUM decl macro; param use safe, no precedence issue",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,212,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,212,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,213,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vtls/openssl.c,241,FP,pubkey_show macro evaluates args once each; benign,curl_full_audit_0.4.35,med
PRE05-C,curl,lib/vtls/openssl.c,241,FP,stringification macro idiomatic; works as intended,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/vtls/openssl.c,241,FP,simple macro wrapper; no multi-eval hazard,curl_full_audit_0.4.35,low
API05-C,curl,lib/vtls/openssl.c,244,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,246,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,257,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,259,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/vtls/openssl.c,280,FP,namebuf[sizeof-1] index correct; no double scaling,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,286,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,323,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,324,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,358,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,359,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,558,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,565,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
INT31-C,curl,lib/vtls/openssl.c,670,FP,size_t bounded by int blen before narrowing,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/vtls/openssl.c,683,FP,"returns BIO_METHOD* from BIO_meth_new, not local",curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/openssl.c,709,FP,fixed buffer not used with getenv result,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,780,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,784,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,791,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,792,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,793,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/openssl.c,817,FP,memcpy guarded by num>klen; within buffer,curl_full_audit_0.4.35,high
MEM03-C,curl,lib/vtls/openssl.c,882,FP,"password is const char* pointer, not a buffer to clear",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,949,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,978,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,1007,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,1026,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1050,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vtls/openssl.c,1062,FP,callee takes const char*; literal not modified,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1107,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vtls/openssl.c,1117,FP,callee takes const char*; literal not modified,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1193,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vtls/openssl.c,1204,FP,callee takes const char*; literal not modified,curl_full_audit_0.4.35,high
INT07-C,curl,lib/vtls/openssl.c,1236,FP,"params is a struct, not char; misparse",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1263,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vtls/openssl.c,1273,FP,callee takes const char*; literal not modified,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,1408,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1429,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1430,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,1430,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,1466,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,1562,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,1567,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,1582,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,1618,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,1624,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,1643,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1657,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
EXP00-C,curl,lib/vtls/openssl.c,1665,FP,flag OR combine across #if; precedence fine,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,1689,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,1693,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1699,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,1751,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1783,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1785,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,1786,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/openssl.c,1801,FP,fixed buffer not used with getenv result,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/vtls/openssl.c,1801,FP,"fixed-size array, not a VLA",curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/openssl.c,1818,FP,pure getter args; no unsequenced side effects,curl_full_audit_0.4.35,med
EXP05-C,curl,lib/vtls/openssl.c,1818,FP,no real cast-away-const; sizeof/void* free idiom,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vtls/openssl.c,1952,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,1992,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,1992,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,2025,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,2061,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,2062,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,2160,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
EXP15-C,curl,lib/vtls/openssl.c,2172,FP,empty if-body intentional (else-if chain follows),curl_full_audit_0.4.35,high
EXP15-C,curl,lib/vtls/openssl.c,2233,FP,empty if-body intentional (else-if chain follows),curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,2240,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,2257,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,2371,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,2515,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,2515,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,2516,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
INT14-C,curl,lib/vtls/openssl.c,2582,FP,idiomatic byte/version bit extraction,curl_full_audit_0.4.35,med
INT14-C,curl,lib/vtls/openssl.c,2601,FP,idiomatic byte/version bit extraction,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/vtls/openssl.c,2658,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,2703,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,2706,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,2707,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,2729,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,2760,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,2766,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/openssl.c,2767,FP,"buf freed; second ptr is aliasing cursor, no leak",curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,2849,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,2874,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/openssl.c,2906,FP,out-param array filled by callee before read,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,2920,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,2935,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,2947,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,2971,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
ARR02-C,curl,lib/vtls/openssl.c,3001,FP,implicit-bounds array with initializer; idiomatic,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,3034,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vtls/openssl.c,3038,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3043,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,3145,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vtls/openssl.c,3148,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3155,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
MSC41-C,curl,lib/vtls/openssl.c,3204,FP,"hash key string, not a credential",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,3214,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3214,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,3214,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/vtls/openssl.c,3216,FP,void* p assigned to typed ptr; no const removal,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/vtls/openssl.c,3218,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3224,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3225,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3249,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3251,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3296,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3303,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3313,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3314,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3323,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3330,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/openssl.c,3334,FP,orchestrator using DEBUGASSERT getters; siblings same,curl_full_audit_0.4.35,high
API00-C,curl,lib/vtls/openssl.c,3334,FP,orchestrator using DEBUGASSERT getters; siblings same,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,3339,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vtls/openssl.c,3348,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3351,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3379,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3381,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,3383,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
EXP34-C,curl,lib/vtls/openssl.c,3391,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3426,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,3459,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3477,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3478,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3480,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,3510,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3531,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,3618,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3618,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3619,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3624,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3628,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3631,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vtls/openssl.c,3634,FP,free-then-NULL or reassign; no real UAF/double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,3636,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,3648,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,3654,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,3661,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
CON43-C,curl,lib/vtls/openssl.c,3666,FP,single-threaded config switch; no double-fetch,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,3721,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
DCL31-C,curl,lib/vtls/openssl.c,3755,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3840,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
STR30-C,curl,lib/vtls/openssl.c,3947,FP,callee takes const char*; literal not modified,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,3973,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,4018,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vtls/openssl.c,4036,FP,pure getter args; no unsequenced side effects,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/vtls/openssl.c,4066,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,4069,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/vtls/openssl.c,4153,FP,no real cast-away-const; sizeof/void* free idiom,curl_full_audit_0.4.35,med
EXP36-C,curl,lib/vtls/openssl.c,4166,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
DCL00-C,curl,lib/vtls/openssl.c,4226,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4298,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,4418,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,4440,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vtls/openssl.c,4442,FP,"buf freed; second ptr is aliasing cursor, no leak",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,4450,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4468,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4469,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,4473,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,4477,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4498,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4529,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,4530,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/openssl.c,4545,FP,alloc stored in octx/owned by SSL or freed at cleanup label,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vtls/openssl.c,4563,FP,OpenSSL/curlx header function or macro; declared via include,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/vtls/openssl.c,4623,FP,buffer written through pointer by helper; not const,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,4648,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,4674,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,4675,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,4676,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,4676,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,4678,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,4704,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/vtls/openssl.c,4717,FP,curl config getter or guarded alloc; pointer non-NULL by design,curl_full_audit_0.4.35,high
EXP36-C,curl,lib/vtls/openssl.c,4757,FP,char* to config struct via getter; alignment fine in practice,curl_full_audit_0.4.35,low
PRE32-C,curl,lib/vtls/openssl.c,4839,FP,#ifdef in if-condition not memset macro invocation,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,4888,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,4927,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,5043,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,5051,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,5051,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5053,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vtls/openssl.c,5111,FP,out-param filled before read or branch-local assign,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5148,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/vtls/openssl.c,5269,FP,fixed buffer not used with getenv result,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/vtls/openssl.c,5273,FP,out-param array filled by callee before read,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/vtls/openssl.c,5273,FP,sockindex internally FIRST/SECONDARY socket; bounded by contract,curl_full_audit_0.4.35,med
EXP20-C,curl,lib/vtls/openssl.c,5281,FP,idiomatic !strcmp/!memcmp or ==1 with correct API convention,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,5340,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5340,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/openssl.c,5353,FP,char* buffer byte write/read; no real sign-extension bug,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5374,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5390,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/openssl.c,5392,FP,curl never uses C99 array-param syntax; advisory style only,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/vtls/openssl.c,5412,FP,all execution paths return explicitly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vtls/openssl.c,5421,FP,vtable/typedef-fixed or modified param; const not addable - categorical FP,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,36,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mprintf.c,36,FP,public exported API or file-scope const digit table; minimal scope inapplicable,curl_full_audit_0.4.35,high
STR04-C,curl,lib/mprintf.c,36,FP,"digit lookup table indexed by value, not a basic-charset string; idiomatic",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,39,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mprintf.c,39,FP,public exported API or file-scope const digit table; minimal scope inapplicable,curl_full_audit_0.4.35,high
STR04-C,curl,lib/mprintf.c,39,FP,"digit lookup table indexed by value, not a basic-charset string; idiomatic",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/mprintf.c,41,FP,OUTCHAR evaluates x once; no multiple-evaluation,curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,76,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,77,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,78,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,79,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,80,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,81,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,82,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,84,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,85,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,86,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP07-C,curl,lib/mprintf.c,87,FP,"these ARE the enum constant definitions (1<<N), not assuming a value elsewhere",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mprintf.c,141,FP,num set by curlx_str_number; ||-shortcircuit returns before reading on failure,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,143,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/mprintf.c,147,FP,[adv] is_arg_used/mark_arg_used do evaluate y multiple times (real PRE advisory),curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/mprintf.c,147,FP,[adv] macro evaluates y multiple times; CERT advisory factually holds (args side-effect-free though),curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/mprintf.c,148,FP,[adv] is_arg_used/mark_arg_used do evaluate y multiple times (real PRE advisory),curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/mprintf.c,148,FP,[adv] macro evaluates y multiple times; CERT advisory factually holds (args side-effect-free though),curl_full_audit_0.4.35,adversarial-flip
DCL13-C,curl,lib/mprintf.c,172,FP,'out' IS written (out[ocount]=...); not unmodified,curl_full_audit_0.4.35,high
MSC39-C,curl,lib/mprintf.c,175,FP,"va_list passed once to parsefmt, never reused by caller; standard pattern",curl_full_audit_0.4.35,low
ENV01-C,curl,lib/mprintf.c,182,FP,fixed-size local array; no getenv involved,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/mprintf.c,182,FP,"fixed-size array (MAX_PARAMETERS/8, BUFFSIZE), not a runtime VLA",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,191,FP,loop bounded by NUL terminator of format string,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/mprintf.c,193,FP,iptr assigned at line 505 before use at 506,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/mprintf.c,197,FP,'width' is modified later in function,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,235,FP,loop bounded by NUL terminator of format string,curl_full_audit_0.4.35,high
CON43-C,curl,lib/mprintf.c,236,FP,single-threaded format parser; no concurrency/double-fetch,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,279,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,309,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/mprintf.c,329,FP,misparse around #if/#else in switch case 'z'; code is reachable,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,337,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
CON43-C,curl,lib/mprintf.c,376,FP,single-threaded format parser; no concurrency/double-fetch,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,391,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,393,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,399,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,401,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,408,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,410,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,417,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,419,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,426,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,428,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,462,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,467,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
INT33-C,curl,lib/mprintf.c,467,FP,"macro divisor is literal 8, not width/precision; never zero",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/mprintf.c,472,FP,"operands are int counters (num/param/maxprec) or same array (w/work), not distinct arrays",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,477,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
INT33-C,curl,lib/mprintf.c,477,FP,"macro divisor is literal 8, not width/precision; never zero",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,480,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,485,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
INT33-C,curl,lib/mprintf.c,485,FP,"macro divisor is literal 8, not width/precision; never zero",curl_full_audit_0.4.35,high
ARR36-C,curl,lib/mprintf.c,490,FP,"operands are int counters (num/param/maxprec) or same array (w/work), not distinct arrays",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,494,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
INT33-C,curl,lib/mprintf.c,494,FP,"macro divisor is literal 8, not width/precision; never zero",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,509,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/mprintf.c,542,FP,usedinput index width/8<16=sizeof; width bounded <MAX_PARAMETERS before use,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mprintf.c,604,FP,"cycle bounded by construction: out_double calls msnprintf with %d only, never re-enters",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/mprintf.c,606,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/mprintf.c,610,FP,formatbuf modified via *fptr++,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,617,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,618,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,618,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,619,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,620,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,620,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,621,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,622,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,622,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,623,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,624,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,624,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,626,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
INT36-C,curl,lib/mprintf.c,633,FP,(size_t)ptr intentional for %p hex formatting; idiomatic advisory,curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,634,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/mprintf.c,645,FP,"operands are int counters (num/param/maxprec) or same array (w/work), not distinct arrays",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,658,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,660,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,661,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,661,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,663,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,664,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,664,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,664,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,665,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,666,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,666,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,666,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,668,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,668,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,670,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/mprintf.c,696,FP,"'stream' is a function-pointer parameter, not an undeclared function",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,703,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,705,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,708,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,708,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,714,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,721,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,724,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,726,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,730,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,735,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,739,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,741,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
EXP15-C,curl,lib/mprintf.c,744,FP,intentional empty no-op branch with explanatory comment (unsigned needs no handling),curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,744,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,757,FP,"'num' is uint64_t scalar, not a pointer",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,771,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,771,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,777,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,777,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,786,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,786,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
ARR36-C,curl,lib/mprintf.c,792,FP,"operands are int counters (num/param/maxprec) or same array (w/work), not distinct arrays",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,793,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,793,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,799,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,799,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,802,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,802,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,808,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,810,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,815,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,821,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,821,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
ARR37-C,curl,lib/mprintf.c,826,FP,fptr/w/fmt point into real local arrays (formatbuf/work/format); decay misparse,curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,830,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,839,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,841,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,843,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/mprintf.c,852,FP,"nilstr is static const char[]=""(nil)"", a real array; sizeof correct, not decayed param",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/mprintf.c,854,FP,"nilstr is static const char[]=""(nil)"", a real array; sizeof correct, not decayed param",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,872,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,875,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,881,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,885,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT36-C,curl,lib/mprintf.c,900,FP,(size_t)ptr intentional for %p hex formatting; idiomatic advisory,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,900,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/mprintf.c,913,FP,"nilstr is static const char[]=""(nil)"", a real array; sizeof correct, not decayed param",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,914,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
INT13-C,curl,lib/mprintf.c,919,FP,"bitwise & on local int 'flags' (copy of unsigned); idiomatic, no defect",curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mprintf.c,942,FP,"cycle bounded by construction: out_double calls msnprintf with %d only, never re-enters",curl_full_audit_0.4.35,med
ENV01-C,curl,lib/mprintf.c,954,FP,fixed-size local array; no getenv involved,curl_full_audit_0.4.35,high
ENV01-C,curl,lib/mprintf.c,955,FP,fixed-size local array; no getenv involved,curl_full_audit_0.4.35,high
MEM05-C,curl,lib/mprintf.c,956,FP,"fixed-size array (MAX_PARAMETERS/8, BUFFSIZE), not a runtime VLA",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/mprintf.c,964,FP,'input' array filled by parsefmt out-param before formatf reads it,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/mprintf.c,971,FP,"'stream' is a function-pointer parameter, not an undeclared function",curl_full_audit_0.4.35,high
ARR00-C,curl,lib/mprintf.c,984,FP,'input' array filled by parsefmt out-param before formatf reads it,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/mprintf.c,1001,FP,'input' array filled by parsefmt out-param before formatf reads it,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1077,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mprintf.c,1077,FP,public exported API or file-scope const digit table; minimal scope inapplicable,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mprintf.c,1077,FP,"cycle bounded by construction: out_double calls msnprintf with %d only, never re-enters",curl_full_audit_0.4.35,med
API05-C,curl,lib/mprintf.c,1077,FP,C99 conformant array-param syntax; curl never uses it; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,1077,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
API05-C,curl,lib/mprintf.c,1077,FP,C99 conformant array-param syntax; curl never uses it; advisory style,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1102,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/mprintf.c,1102,FP,public exported API or file-scope const digit table; minimal scope inapplicable,curl_full_audit_0.4.35,high
MSC04-C,curl,lib/mprintf.c,1102,FP,"cycle bounded by construction: out_double calls msnprintf with %d only, never re-enters",curl_full_audit_0.4.35,med
API05-C,curl,lib/mprintf.c,1102,FP,C99 conformant array-param syntax; curl never uses it; advisory style,curl_full_audit_0.4.35,high
API05-C,curl,lib/mprintf.c,1102,FP,C99 conformant array-param syntax; curl never uses it; advisory style,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,1125,FP,'dyn' passed to curlx_dyn_free which frees/modifies it,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/mprintf.c,1134,FP,"info.merr is a char struct field on stack, not the freed dynbuf pointer; misidentified",curl_full_audit_0.4.35,high
DCL31-C,curl,lib/mprintf.c,1154,FP,curlx_strdup declared in curl header (external),curl_full_audit_0.4.35,high
DCL30-C,curl,lib/mprintf.c,1164,FP,"returns 's' = heap ptr from curl_mvaprintf, not address of a local",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1170,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1175,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1182,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/mprintf.c,1186,FP,signature-constrained out_*/callback family; const cannot be applied uniformly,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/mprintf.c,1190,FP,rc IS checked: 'return rc == EOF',curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1194,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
API00-C,curl,lib/mprintf.c,1204,FP,thin wrapper forwarding to formatf; does not deref the param itself,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1204,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
API00-C,curl,lib/mprintf.c,1214,FP,thin wrapper forwarding to formatf; does not deref the param itself,curl_full_audit_0.4.35,high
API00-C,curl,lib/mprintf.c,1214,FP,thin wrapper forwarding to formatf; does not deref the param itself,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1214,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1216,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1216,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1216,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
STR34-C,curl,lib/mprintf.c,1217,FP,"ASCII char written/read in printf formatting; sign-extension benign, idiomatic",curl_full_audit_0.4.35,high
API00-C,curl,lib/mprintf.c,1221,FP,thin wrapper forwarding to formatf; does not deref the param itself,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1221,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
API00-C,curl,lib/mprintf.c,1226,FP,thin wrapper forwarding to formatf; does not deref the param itself,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/mprintf.c,1226,FP,public curl_* API declared in include/curl/mprintf.h; needs external linkage,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,152,FP,"nego->* are struct members freed by Curl_auth_cleanup_spnego, not function-local leaks",curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vauth/spnego_sspi.c,155,FP,"AcquireCredentialsHandle SSPI signature; pHandle is output-only, distinct from inputs",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,161,FP,Struct-member resources cleaned by cleanup function; persistent across calls,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,166,FP,Struct-member resources cleaned by Curl_auth_cleanup_spnego,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,174,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,180,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/spnego_sspi.c,186,FP,chlg_buf is a SecBuffer desc filled before use; struct populated then read,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,245,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,247,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,259,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,261,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/spnego_sspi.c,267,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/spnego_sspi.c,286,FP,"nego->output_token read into base64 encode; nego state consulted, not const-able semantically",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/spnego_sspi.c,287,FP,curl never uses C99 array-param syntax; advisory convention,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/spnego_sspi.c,323,FP,Guarded single free inside if(nego->credentials); pointer nulled after,curl_full_audit_0.4.35,high
MSC37-C,curl,src/tool_cb_rea.c,44,FP,waitfd: both #if branches return on every path,curl_full_audit_0.4.35,high
INT10-C,curl,src/tool_cb_rea.c,64,FP,waitms derived from clamped non-negative int; modulo well-defined,curl_full_audit_0.4.35,med
API00-C,curl,src/tool_cb_rea.c,79,FP,CURLOPT_READFUNCTION callback signature; buffer always non-null from libcurl,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_rea.c,79,FP,Callback signature; sz bounded by libcurl,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cb_rea.c,79,FP,Callback signature; nmemb bounded by libcurl,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_rea.c,79,FP,Callback signature; conformant array syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_cb_rea.c,79,FP,Callback signature; conformant array syntax not used in curl,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_rea.c,79,FP,CURLOPT_READFUNCTION fixed callback signature; userdata cast and deref'd,curl_full_audit_0.4.35,high
INT18-C,curl,src/tool_cb_rea.c,85,FP,uploadfilesize is signed curl_off_t; comparison to -1 correct,curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_cb_rea.c,113,FP,Idiomatic !strcmp boolean test in path comparison,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_rea.c,115,FP,"sz*nmemb is libcurl callback buffer size, bounded; no overflow",curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_cb_rea.c,133,FP,"sz*nmemb is libcurl callback buffer size, bounded; no overflow",curl_full_audit_0.4.35,high
INT18-C,curl,src/tool_cb_rea.c,145,FP,uploadfilesize is signed curl_off_t; comparison to -1 correct,curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_cb_rea.c,164,FP,XFERINFOFUNCTION callback signature; clientp cast and deref'd,curl_full_audit_0.4.35,high
EXP33-C,curl,src/tool_cb_rea.c,178,FP,Static variable ulprev is zero-initialized by C standard,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/dynbuf.c,68,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/dynbuf.c,105,FP,curlx_realloc declared via included curl memory headers,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curlx/dynbuf.c,115,FP,memcpy guarded by if(len); len>0 implies mem non-null via DEBUGASSERT,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/dynbuf.c,162,FP,mem validated via len guard in dyn_nappend; null mem only with zero len,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curlx/dynbuf.c,162,FP,Exported curlx API used across translation units; needs external linkage,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/dynbuf.c,162,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/dynbuf.c,173,FP,str validated via DEBUGASSERT(str); exported API contract,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curlx/dynbuf.c,173,FP,Exported curlx API used across translation units,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curlx/dynbuf.c,180,FP,str asserted non-null; strlen called after DEBUGASSERT(str),curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curlx/dynbuf.c,187,FP,Exported curlx API used across translation units,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/curlx/dynbuf.c,187,FP,Exported curlx API; used by other curl source files,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curlx/dynbuf.c,187,FP,Both #if branches return on every path,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/curlx/dynbuf.c,220,FP,Exported curlx API used across translation units,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curlx/dynbuf.c,254,FP,"ptr holds heap s->bufr (take ownership transfer), not stack-local",curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,99,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,100,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
DCL00-C,curl,lib/if2ip.c,116,FP,scope array is written by curl_msnprintf at line 150; not constant,curl_full_audit_0.4.35,high
API00-C,curl,lib/if2ip.c,178,FP,"buf written via curlx_inet_ntop; caller-supplied output buffer, internal API",curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,183,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,184,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/if2ip.c,202,FP,req is struct ifreq used only in len check; memset+memcpy before ioctl,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/if2ip.c,210,FP,len+1<=sizeof(ifr_name) guaranteed by len>=sizeof check at line 202,curl_full_audit_0.4.35,high
INT32-C,curl,lib/if2ip.c,210,FP,len bounded below sizeof(ifr_name); len+1 cannot overflow,curl_full_audit_0.4.35,high
DCL39-C,curl,lib/if2ip.c,218,FP,"ioctl is local kernel call, not a cross-trust serialization boundary; advisory",curl_full_audit_0.4.35,med
EXP05-C,curl,lib/if2ip.c,230,FP,in is non-const local struct in_addr; no const cast away,curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,246,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/if2ip.c,247,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/if2ip.c,247,FP,Stub variant; buf is output param (written in active variants); signature must match,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/ntlm_sspi.c,78,FP,service passed to Curl_auth_build_spn which handles null; internal auth API,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/ntlm_sspi.c,78,FP,host passed to Curl_auth_build_spn which handles null,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,132,FP,ntlm->* are struct members freed by Curl_auth_cleanup_ntlm,curl_full_audit_0.4.35,high
EXP43-C,curl,lib/vauth/ntlm_sspi.c,135,FP,AcquireCredentialsHandle SSPI signature; output handle distinct from inputs,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,141,FP,Struct-member resources cleaned by Curl_auth_cleanup_ntlm,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,146,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,150,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,171,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,173,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/vauth/ntlm_sspi.c,177,FP,Struct-member resources cleaned by cleanup function,curl_full_audit_0.4.35,high
EXP30-C,curl,lib/vauth/ntlm_sspi.c,204,FP,"curlx_memdup0(ptr,len) getter args have no shared side effects on type2",curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/ntlm_sspi.c,249,FP,type_2_bufs SecBuffer array fully populated before being read by SSPI,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/vauth/ntlm_sspi.c,271,FP,status assigned at line 266 before read at 271 inside same if-block,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/vauth/ntlm_sspi.c,335,FP,Guarded single free inside if(ntlm->credentials); pointer nulled after,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,42,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,43,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,74,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,76,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/hostcheck.c,101,FP,patternlen is the valid length of pattern buffer; memchr bound correct,curl_full_audit_0.4.35,high
ARR38-C,curl,lib/vtls/hostcheck.c,106,FP,hostlen is the valid length of hostname buffer; memchr bound correct,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/hostcheck.c,108,FP,"Pointer subtraction (label_end - hostname), not char-to-int conversion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/hostcheck.c,108,FP,"Pointer subtraction, not signed-char conversion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/hostcheck.c,109,FP,"Pointer subtraction (pattern_label_end - pattern), not char conversion",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vtls/hostcheck.c,109,FP,"Pointer subtraction, not signed-char conversion",curl_full_audit_0.4.35,high
INT00-C,curl,lib/vtls/hostcheck.c,110,FP,skiphost = label_end-hostname < hostlen (label within host); difference non-negative,curl_full_audit_0.4.35,high
INT00-C,curl,lib/vtls/hostcheck.c,111,FP,skiplen = pattern_label_end-pattern < patternlen; difference non-negative,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,120,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/hostcheck.c,121,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cfgable.c,39,FP,curlx_calloc declared via included curl memory headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,71,FP,curlx_dyn_free frees postdata buffer member; no use-after-free of distinct member,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,107,FP,url_list read to start loop; not previously freed,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_cfgable.c,193,FP,config_free loop while(last) safe on null; internal API,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cfgable.c,202,FP,curlx_free declared via included curl memory headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,202,FP,Loop frees a different node each iteration (last=prev advance); not double-free,curl_full_audit_0.4.35,high
MEM31-C,curl,src/tool_cfgable.c,202,FP,Loop-iteration free conflation; each iter frees distinct list node,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,226,FP,"global->first assigned heap config_alloc() return, not stack array",curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cfgable.c,239,FP,curlx_free declared via included curl memory headers,curl_full_audit_0.4.35,high
DCL31-C,curl,src/tool_cfgable.c,244,FP,curlx_free declared via included curl memory headers,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,259,FP,"trace_fopened/trace_stream are distinct members, read before fclose; no UAF",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,259,FP,trace_stream read to test then fclose; nulled at line 261; no UAF,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,260,FP,trace_stream passed to fclose then set NULL; correct single close,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_cfgable.c,266,FP,"global->term.buf freed once; distinct member, no prior free",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curlx/strerr.c,44,FP,get_winsock_error: both #if branches return on all paths,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strerr.c,44,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strerr.c,52,FP,"*buf = '\0' assigns char literal, no integer widening",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curlx/strerr.c,250,FP,curlx_strerror returns buf at end of all paths,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strerr.c,250,FP,C99 array-param syntax not used in curl,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strerr.c,265,FP,"*buf = '\0' char literal assignment, no sign extension",curl_full_audit_0.4.35,high
EXP20-C,curl,lib/curlx/strerr.c,268,FP,Idiomatic !strcmp test; Windows-only branch,curl_full_audit_0.4.35,high
PRE32-C,curl,lib/curlx/strerr.c,269,FP,"#ifdef USE_WINSOCK is inside an if() expression, not a DEBUGASSERT macro arg",curl_full_audit_0.4.35,high
CON33-C,curl,lib/curlx/strerr.c,304,FP,Deliberate fallback only when no strerror_r; return value checked; checksrc-approved,curl_full_audit_0.4.35,med
CON34-C,curl,lib/curlx/strerr.c,304,FP,Same strerror site; fallback when thread-safe variant unavailable,curl_full_audit_0.4.35,med
EXP33-C,curl,lib/curlx/strerr.c,316,FP,"p = strrchr(buf,'\n') assigned before read on line 316",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strerr.c,317,FP,"*p = '\0' char literal assignment, no integer widening",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/strerr.c,320,FP,"*p = '\0' char literal assignment, no integer widening",curl_full_audit_0.4.35,high
API00-C,curl,lib/fake_addrinfo.c,32,FP,freeaddrinfo loop while(ca) null-safe; cahead null tolerated,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/fake_addrinfo.c,32,FP,freeaddrinfo frees nodes through cahead; const-qualifying a free param is wrong,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/fake_addrinfo.c,48,FP,c-ares ares_addrinfo_callback signature fixed by external typedef,curl_full_audit_0.4.35,high
STR34-C,curl,lib/fake_addrinfo.c,69,FP,strlen(name) call; no signed-char to wide-int conversion present,curl_full_audit_0.4.35,high
STR34-C,curl,lib/fake_addrinfo.c,69,FP,strlen(name)+1; no char-to-int sign extension,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/fake_addrinfo.c,105,FP,"(char*)ca + sizeof(...) is byte-pointer arithmetic, not double scaling",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/fake_addrinfo.c,109,FP,"(char*)ai_addr + ss_size byte arithmetic on char*, correct",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/fake_addrinfo.c,110,FP,Guarded by if(namelen); namelen>0 implies name non-null (line 69),curl_full_audit_0.4.35,high
API00-C,curl,lib/fake_addrinfo.c,138,FP,node forwarded to ares_getaddrinfo which accepts null; internal API,curl_full_audit_0.4.35,high
API00-C,curl,lib/fake_addrinfo.c,138,FP,service forwarded to ares_getaddrinfo which accepts null,curl_full_audit_0.4.35,high
API00-C,curl,lib/fake_addrinfo.c,138,FP,res only written on ctx.result path; internal API,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/fake_addrinfo.c,170,FP,getenv result 'env' checked with if(env) at line 171,curl_full_audit_0.4.35,high
CON34-C,curl,lib/fake_addrinfo.c,170,FP,"One-time init-path getenv; read-immediately idiom, not retained shared storage",curl_full_audit_0.4.35,med
DCL31-C,curl,lib/multi_ntfy.c,49,FP,curlx_calloc is a curl-internal alloc declared via included headers; macro/inline indirection sqc can't trace.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/multi_ntfy.c,54,FP,curlx_free declared via curl headers; not undeclared.,curl_full_audit_0.4.35,high
ARR01-C,curl,lib/multi_ntfy.c,59,FP,"sizeof(*chunk) on pointer-to-struct yields struct size, the intended memset size.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/multi_ntfy.c,63,FP,data->mid is read; signature also dictated by append contract. Not const-able cleanly.,curl_full_audit_0.4.35,med
MEM31-C,curl,lib/multi_ntfy.c,80,FP,chunk is stored into mntfy->head/tail and returned; freed later in cleanup. Not leaked.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ntfy.c,85,FP,"Returns heap pointer chunk, not address of a local object.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/multi_ntfy.c,96,FP,"Returns heap pointer chunk, not address of a local object.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi_ntfy.c,106,FP,"multi is internal handle, always valid at this call site.",curl_full_audit_0.4.35,high
ARR01-C,curl,lib/multi_ntfy.c,126,FP,"multi->ntfy is a struct member, not a decayed array param; sizeof correct.",curl_full_audit_0.4.35,high
API00-C,curl,lib/multi_ntfy.c,148,FP,Internal API; multi always valid from caller. Curl convention not to NULL-check.,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ntfy.c,156,FP,Internal API; multi always valid from caller.,curl_full_audit_0.4.35,med
API00-C,curl,lib/multi_ntfy.c,164,FP,Curl_mntfy_add explicitly handles data==NULL via ternary on line 166.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/multi_ntfy.c,182,FP,"multi internal handle, always valid; only a DEBUGASSERT context.",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_fopen.c,46,FP,[adv] IS_SEP evaluates x twice; advisory but technically true for function-like macro.,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/curl_fopen.c,46,FP,[adv] IS_SEP macro evaluates parameter x multiple times.,curl_full_audit_0.4.35,adversarial-flip
API00-C,curl,lib/curl_fopen.c,85,FP,Internal; data passed to Curl_rand_alnum which uses it; curl convention no NULL-check.,curl_full_audit_0.4.35,med
STR34-C,curl,lib/curl_fopen.c,96,FP,"*tempname = NULL is a pointer assignment, not char sign-extension.",curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curl_fopen.c,99,FP,*fh is an out-param returned open to caller by design; closed/fclosed on relevant paths.,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curl_fopen.c,135,FP,fd becomes *fh via fdopen and returned; on fail path fd closed at line 150.,curl_full_audit_0.4.35,high
FIO42-C,curl,lib/curl_fopen.c,141,FP,*fh out-param returned open to caller on success; cleanup on fail.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/curl_fopen.c,145,FP,"*tempname = tempstore assigns a heap pointer to out-param, not a local address.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_fopen.c,145,FP,"*tempname = tempstore is a pointer assignment, not char value.",curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curl_fopen.c,146,FP,Success path: *fh and *tempname intentionally handed to caller; nothing leaked.,curl_full_audit_0.4.35,high
MSC07-C,curl,lib/curl_fopen.c,148,FP,'fail:' label is reachable via goto; not unreachable code.,curl_full_audit_0.4.35,high
MEM12-C,curl,lib/curl_fopen.c,155,FP,"fail path closes fd, unlinks, frees tempstore; resources properly released.",curl_full_audit_0.4.35,high
DCL38-C,curl,lib/hash.h,50,TP,char key[1] is the legacy struct-hack; modern C99 prefers []. Real but intentional.,curl_full_audit_0.4.35,med
STR31-C,curl,lib/hash.h,50,FP,"key[1] is a flexible-array-member hack, not a fixed string buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,84,FP,Curl never uses C99 array-param syntax; advisory by convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,84,FP,"key/key_len pair; curl convention, not conformant-array syntax.",curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,85,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,85,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,87,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,88,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API02-C,curl,lib/hash.h,93,FP,"void* user is opaque criterium context, not an array needing a size param.",curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,95,FP,void* key with separate key_length; curl convention.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,96,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API05-C,curl,lib/hash.h,96,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_digest.c,41,FP,Internal; data always valid from caller. Curl convention no NULL-check.,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/http_digest.c,41,FP,data->state members written (digest selection); struct mutated through data.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/http_digest.c,56,FP,!checkprefix idiom is standard curl boolean usage.,curl_full_audit_0.4.35,high
API00-C,curl,lib/http_digest.c,65,FP,Internal; data always valid; curl convention.,curl_full_audit_0.4.35,med
API00-C,curl,lib/http_digest.c,65,FP,Internal; request always valid from caller.,curl_full_audit_0.4.35,med
MEM03-C,curl,lib/http_digest.c,83,FP,"passwdp points to data->state.aptr.passwd, a persistent struct field, not a sensitive stack buffer to scrub.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_digest.c,108,FP,allocuserpwd = &data->state.aptr.userpwd; address-of-member is never NULL.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_digest.c,118,FP,"digest = &data->state.digest; address-of-member, never NULL.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/http_digest.c,124,FP,"authp = &data->state.authhost; address-of-member, never NULL.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_digest.c,144,FP,"tmp - uripath is pointer subtraction (ptrdiff), not a char value conversion.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/http_digest.c,161,FP,"*allocuserpwd = curl_maprintf(...) is a char* pointer assignment, not char.",curl_full_audit_0.4.35,high
API00-C,curl,lib/http_digest.c,172,FP,Internal cleanup; data always valid.,curl_full_audit_0.4.35,med
DCL37-C,curl,lib/setup-vms.h,46,FP,__name is the system getenv prototype parameter name from DEC C RTL; platform shim.,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/setup-vms.h,84,TP,vms_translate_path falls off end without returning unix_path on success branch. Real (VMS-only).,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/setup-vms.h,93,FP,Intentional const-cast to return original path in same type; documented design.,curl_full_audit_0.4.35,high
EXP05-C,curl,lib/setup-vms.h,100,FP,Intentional const-cast returning original path; documented.,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/setup-vms.h,107,FP,"vms_translate_path(__path) noop macro; substituting bare token is the intent, no precedence risk.",curl_full_audit_0.4.35,med
DCL30-C,curl,lib/setup-vms.h,125,FP,"result is a char* (from getenv/translate), not address of a local object.",curl_full_audit_0.4.35,high
ENV30-C,curl,lib/setup-vms.h,129,FP,vms_translate_path takes const char* and does not modify the getenv buffer.,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setup-vms.h,137,FP,"result is a char* value, not address of a local.",curl_full_audit_0.4.35,high
MEM03-C,curl,lib/setup-vms.h,144,FP,"my_passwd is a pointer to a system static struct, not a sensitive stack buffer.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setup-vms.h,159,FP,"my_passwd is a pointer (from getpwuid/cache), not address of a local.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setup-vms.h,166,FP,"Returns my_passwd pointer, not a local address.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/setup-vms.h,171,FP,"Returns my_passwd pointer, not a local address.",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/strerror.c,34,FP,curl_easy_strerror is a public exported API function; cannot be static.,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/strerror.c,34,FP,"All paths return: switch cases return and function ends with return ""Unknown error""/#else returns.",curl_full_audit_0.4.35,high
MSC37-C,curl,lib/strerror.c,326,FP,curl_multi_strerror returns on every path (switch + trailing return).,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/strerror.c,385,FP,curl_share_strerror is a public exported API function; cannot be static.,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/strerror.c,385,FP,curl_share_strerror returns on every path.,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/strerror.c,420,FP,curl_url_strerror returns on every path.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strerror.c,538,FP,"char *buf, size_t buflen pair; curl convention, not C99 array syntax.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/strerror.c,549,FP,"*buf = '\0' assigns char NUL, no sign extension.",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/strerror.c,556,FP,"SEC2TXT uses sec once (case sec: txt=#sec); single evaluation, no side-effect risk.",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/strerror.c,556,FP,sec only used as a case label and stringified; parenthesizing is invalid there.,curl_full_audit_0.4.35,high
PRE05-C,curl,lib/strerror.c,556,FP,Stringifying a fixed enum constant name is the intent; no expansion needed.,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/strerror.c,556,FP,sec used once in case label; no multiple evaluation.,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/gsasl.c,35,FP,Internal; mech always valid from caller.,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/gsasl.c,35,FP,Internal; gsasl always valid from caller.,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/vauth/gsasl.c,41,FP,gsasl_init declared in <gsasl.h> included at line 33.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vauth/gsasl.c,43,FP,gsasl_strerror declared in <gsasl.h>.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vauth/gsasl.c,47,FP,gsasl_client_start declared in <gsasl.h>.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vauth/gsasl.c,49,FP,gsasl_done declared in <gsasl.h>.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/vauth/gsasl.c,65,FP,gsasl_property_set declared in <gsasl.h>.,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/gsasl.c,89,FP,Internal; gsasl always valid from caller.,curl_full_audit_0.4.35,med
API00-C,curl,lib/vauth/gsasl.c,89,FP,Internal; out always valid from caller.,curl_full_audit_0.4.35,med
DCL13-C,curl,lib/vauth/gsasl.c,91,FP,gsasl->client passed to gsasl_step; struct used; signature is curl callback convention.,curl_full_audit_0.4.35,med
EXP30-C,curl,lib/vauth/gsasl.c,98,FP,Curl_bufref_ptr/len are pure getters with no shared side effects; sequencing irrelevant.,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/gsasl.c,109,FP,Internal cleanup; gsasl always valid.,curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cw-pause.c,47,FP,curlx_calloc declared via curl headers.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/cw-pause.c,63,FP,curlx_free declared via curl headers.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-pause.c,73,FP,cw_pause_init signature fixed by Curl_cwtype vtable; const cannot be added.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-pause.c,74,FP,writer->ctx mutated (ctx->buf=NULL); param not actually const-able and vtable-fixed.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-pause.c,91,FP,cw_pause_close signature fixed by vtable typedef.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cw-pause.c,91,FP,writer used to get ctx and free bufs; vtable-fixed signature.,curl_full_audit_0.4.35,high
EXP40-C,curl,lib/cw-pause.c,108,FP,"plast points to ctx->buf (non-const); standard list traversal, no const circumvention.",curl_full_audit_0.4.35,high
API05-C,curl,lib/cw-pause.c,144,FP,"const char *buf, size_t blen; curl convention, not C99 array syntax.",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/cw-pause.c,206,FP,Curl_cwt_pause vtable is referenced from other TUs (cw_pause.h); needs external linkage.,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/cw-pause.c,206,FP,Exported vtable instance; cannot be function-local.,curl_full_audit_0.4.35,high
API00-C,curl,lib/cw-pause.c,215,FP,Internal; data always valid from caller.,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/splay.c,58,FP,y=t->smaller after 'if(!t->smaller) break'; y guaranteed non-NULL.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/splay.c,64,FP,r initialized to &N then to tree nodes; never NULL.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/splay.c,79,FP,l initialized to &N then to tree nodes; never NULL.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/splay.c,180,FP,"x=t->samen; samen is always set (circular list), and t guaranteed non-NULL here.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/splay.c,187,FP,"Returns x, a tree-node pointer, not address of a local object.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/splay.c,194,FP,"Returns x (t->larger), a node pointer, not a local address.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/splay.c,258,FP,x=t->samen always set; t non-NULL (asserted post-splay).,curl_full_audit_0.4.35,high
DCL30-C,curl,lib/splay.c,275,FP,"*newroot=x stores a heap node pointer to out-param, not a local address.",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/splay.c,281,FP,"node->ptr = payload stores payload; payload is data, intent is to store opaque ptr.",curl_full_audit_0.4.35,high
API00-C,curl,lib/splay.c,287,FP,Internal; node validated via DEBUGASSERT; always valid from caller.,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/splay.c,290,FP,node guaranteed valid by caller (DEBUGASSERT); internal accessor.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/strcase.c,76,FP,(unsigned char)in indexes touppermap[256] with 0-255; always in bounds.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/strcase.c,83,FP,(unsigned char)in indexes tolowermap[256] with 0-255; always in bounds.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.c,91,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/strcase.c,91,FP,dest is written through (*dest++); not const-able.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.c,91,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/strcase.c,97,FP,*dest++ = Curl_raw_toupper() assigns char to char; no widening conversion.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.c,106,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/strcase.c,106,FP,dest is written through; not const-able.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.c,106,FP,Curl convention; no C99 array-param syntax.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/strcase.c,112,FP,*dest++ = char-to-char assignment; no sign extension.,curl_full_audit_0.4.35,high
EXP20-C,curl,lib/strcase.c,122,FP,!strcmp idiom is standard curl boolean comparison.,curl_full_audit_0.4.35,high
PRE08-C,curl,src/tool_writeout_json.c,27,FP,"8-char filename collision is a 1980s constraint; advisory, irrelevant on modern systems.",curl_full_audit_0.4.35,high
API05-C,curl,src/tool_writeout_json.c,37,FP,"const char *in, size_t len pair; curl convention, not C99 array syntax.",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_writeout_json.c,40,FP,"&i[len] computes one-past-end pointer for loop bound; len=strlen(in), in bounds.",curl_full_audit_0.4.35,high
ARR36-C,curl,src/tool_writeout_json.c,43,FP,i and in_end both point into the same 'in' buffer; comparison well-defined.,curl_full_audit_0.4.35,high
CON43-C,curl,src/tool_writeout_json.c,44,FP,"Single-threaded CLI string scan; no concurrency, no double-fetch risk.",curl_full_audit_0.4.35,high
STR09-C,curl,src/tool_writeout_json.c,71,FP,ASCII A-Z range check is intentional locale-independent uppercase; curl targets ASCII.,curl_full_audit_0.4.35,high
STR09-C,curl,src/tool_writeout_json.c,71,FP,"ASCII Z range check; intentional, curl assumes ASCII.",curl_full_audit_0.4.35,high
DCL13-C,curl,src/tool_writeout_json.c,84,FP,stream is a FILE* written to via fputc/fputs; cannot be const.,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_writeout_json.c,119,FP,Internal tool fn; per always valid from caller.,curl_full_audit_0.4.35,med
DCL13-C,curl,src/tool_writeout_json.c,119,FP,"per->curl read via curl_easy_nextheader; struct accessed, signature convention.",curl_full_audit_0.4.35,high
EXP34-C,curl,src/tool_writeout_json.c,127,FP,while((header=...)!=NULL) loop guard guarantees header non-NULL inside body.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_ntlm_core.h,33,FP,[adv] SHORTPAIR(x) does evaluate x twice; function-like macro multiple-evaluation is a genuine style hazard.,curl_full_audit_0.4.35,adversarial-flip
PRE02-C,curl,lib/curl_ntlm_core.h,33,FP,"Replacement is a comma-separated arg list, not an expression; wrapping in parens would break call sites.",curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ntlm_core.h,33,FP,[adv] x evaluated multiple times; advisory but technically correct for SHORTPAIR.,curl_full_audit_0.4.35,adversarial-flip
PRE00-C,curl,lib/curl_ntlm_core.h,34,FP,[adv] LONGQUARTET(x) evaluates x four times; multiple-evaluation style hazard.,curl_full_audit_0.4.35,adversarial-flip
PRE02-C,curl,lib/curl_ntlm_core.h,34,FP,Comma-separated argument-list macro; parenthesizing whole list would break call sites.,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/curl_ntlm_core.h,34,FP,[adv] x evaluated four times; advisory multiple-evaluation correct.,curl_full_audit_0.4.35,adversarial-flip
API05-C,curl,lib/curl_ntlm_core.h,53,FP,Conformant-array-syntax advisory; curl never uses C99 array params.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.h,54,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.h,55,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_ntlm_core.h,56,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,94,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,104,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,112,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,125,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,134,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,135,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,146,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,147,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/dynhds.h,168,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/dynhds.h,180,FP,"pcount is out-count for an allocated nva array, not an input buffer needing a size param.",curl_full_audit_0.4.35,high
ARR30-C,curl,lib/strequal.c,37,FP,"Loop bounded by NUL terminator (*first); standard C-string iteration, not unbounded.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/strequal.c,37,FP,casecompare only called when s1/s2 non-NULL (guarded in curl_strequal).,curl_full_audit_0.4.35,high
API05-C,curl,lib/strequal.c,51,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strequal.c,51,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
ARR30-C,curl,lib/strequal.c,53,FP,Loop bounded by *first && max; bounded by both NUL and counter.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/strequal.c,53,FP,ncasecompare only called when s1/s2 non-NULL (guarded in curl_strnequal).,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/strequal.c,76,FP,curl_strequal is a public libcurl API (curl/easy.h); requires external linkage.,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/strequal.c,87,FP,curl_strnequal is a public libcurl API; requires external linkage.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strequal.c,87,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/strequal.c,87,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/transfer.h,26,FP,[adv] Curl_headersep(x) evaluates x twice; function-like macro multiple-evaluation style hazard.,curl_full_audit_0.4.35,adversarial-flip
PRE12-C,curl,lib/transfer.h,26,FP,[adv] x evaluated twice; advisory multiple-evaluation correct.,curl_full_audit_0.4.35,adversarial-flip
API05-C,curl,lib/transfer.h,29,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/transfer.h,37,FP,"char **url is an out-param for a single string pointer, not a sized array.",curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.h,53,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.h,65,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/transfer.h,117,FP,"buf has explicit blen size param; pnwritten is an out-count, not the buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.h,118,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/transfer.h,126,FP,"buf has explicit blen size param; pnrcvd is an out-count, not the buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/transfer.h,127,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,56,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,56,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
INT13-C,curl,src/tool_getpass.c,72,FP,"sts&1 tests VMS condition success bit; idiomatic VMS status check, not a real bitwise hazard.",curl_full_audit_0.4.35,med
INT13-C,curl,src/tool_getpass.c,78,FP,"VMS status low-bit success test; idiomatic, not a bitwise sign hazard.",curl_full_audit_0.4.35,med
API00-C,curl,src/tool_getpass.c,89,FP,buflen only passed to read(); no arithmetic overflow risk; no validation needed.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,89,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,89,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,164,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,src/tool_getpass.c,165,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_getpass.c,170,FP,fd closed at line 190 curlx_close(fd) when fd != STDIN_FILENO; stdin fallback not opened.,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_msgs.c,43,FP,"prefix is const char*; strlen(prefix) used, no signed-char-to-int sign-extension actually occurs here.",curl_full_audit_0.4.35,med
INT00-C,curl,src/tool_msgs.c,44,FP,Subtraction guarded by ternary termw > prefw before computing termw - prefw.,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_msgs.c,44,FP,Guarded by termw > prefw ternary; underflow impossible.,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_msgs.c,52,FP,"Reached only when len > width, so width < len <= 1023, width >= 1; width-1 cannot wrap.",curl_full_audit_0.4.35,high
ARR30-C,curl,src/tool_msgs.c,54,FP,cut = width-1 < len <= 1023 in this branch; ptr[cut] within buffer[1024].,curl_full_audit_0.4.35,high
INT30-C,curl,src/tool_msgs.c,60,FP,Same branch where width >= 1 (width < len); width-1 cannot wrap.,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_msgs.c,79,FP,notef declared in tool_msgs.h and used across tool sources; needs external linkage.,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_msgs.c,93,FP,warnf is widely used across tool sources; needs external linkage.,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_msgs.c,107,FP,helpf used across tool sources; needs external linkage.,curl_full_audit_0.4.35,high
DCL15-C,curl,src/tool_msgs.c,129,FP,errorf used across tool sources; needs external linkage.,curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_vms.c,36,FP,"__status is the VMS decc$ runtime prototype param name; fixed by external ABI, not curl's to rename.",curl_full_audit_0.4.35,high
DCL37-C,curl,src/tool_vms.c,37,FP,"VMS runtime decc$exit prototype param name; external ABI, cannot rename.",curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_vms.c,39,FP,vms_shell is a single-threaded init-cache flag in CLI tool; no thread concurrency.,curl_full_audit_0.4.35,high
ENV34-C,curl,src/tool_vms.c,53,FP,getenv result strcmp'd immediately and not stored beyond the call; value consumed at once.,curl_full_audit_0.4.35,med
CON34-C,curl,src/tool_vms.c,53,FP,CLI tool single-threaded; getenv static-storage thread concern inapplicable.,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_vms.c,128,FP,Array sized by NULL-terminated initializer list; implicit bound is intentional and correct.,curl_full_audit_0.4.35,high
CON03-C,curl,src/tool_vms.c,141,FP,decc_init_done set once by LIB$INITIALIZE before main; not concurrent.,curl_full_audit_0.4.35,high
CON02-C,curl,src/tool_vms.c,141,FP,"Init-once flag set by VMS LIB$INITIALIZE, not used for inter-thread sync.",curl_full_audit_0.4.35,high
WIN04-C,curl,src/tool_vms.c,200,FP,"x_decc_init is a VMS LIB$INITIALIZE PSECT entry; EncodePointer is a Windows API, inapplicable.",curl_full_audit_0.4.35,high
DCL20-C,curl,src/tool_vms.c,200,FP,Function-pointer typedef for LIB$INITIALIZE callback ABI; () form is intentional VMS shim.,curl_full_audit_0.4.35,med
API02-C,curl,lib/curlx/base64.h,27,FP,"insize is the size param; outlen is an out-count for allocated output, not an unsized input.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,27,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,28,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/base64.h,29,FP,"insize is the size param; outlen is an out-count, not an unsized buffer.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,29,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,30,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/base64.h,31,FP,"src is NUL-terminated string; outlen is an out-count, not an unsized input array.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,31,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/base64.h,32,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
STR31-C,curl,lib/curlx/inet_pton.c,73,FP,Loop bounded by NUL terminator and validates each octet; not unbounded copy.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_pton.c,73,FP,ch is int from *src++ but only used as digit/'.'; sign-extension irrelevant after ISDIGIT.,curl_full_audit_0.4.35,med
STR34-C,curl,lib/curlx/inet_pton.c,73,FP,"Same site; ch validated via ISDIGIT/'.', no harmful sign extension.",curl_full_audit_0.4.35,med
ARR30-C,curl,lib/curlx/inet_pton.c,132,FP,Loop bounded by NUL; tp writes guarded by tp+INT16SZ > endp checks against tmp[16].,curl_full_audit_0.4.35,high
STR31-C,curl,lib/curlx/inet_pton.c,132,FP,Bounds-checked against endp before each write; not an unbounded copy.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/curlx/inet_pton.c,132,FP,"ch validated via ISXDIGIT/':'/'.', no harmful sign extension.",curl_full_audit_0.4.35,med
STR34-C,curl,lib/curlx/inet_pton.c,132,FP,"Same site; ch consumed by classifiers, sign extension harmless.",curl_full_audit_0.4.35,med
MEM33-C,curl,lib/curlx/inet_pton.c,181,FP,Byte-by-byte shift of fixed unsigned char tmp[16]; no flexible-array struct assignment occurs.,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curlx/inet_pton.c,181,FP,endp/colonp/tp all point into the same tmp[16] array; subtraction well-defined.,curl_full_audit_0.4.35,high
API00-C,curl,lib/curlx/strdup.c,43,FP,Thin _wcsdup helper; caller contract guarantees non-NULL src; categorical API00 helper FP.,curl_full_audit_0.4.35,med
API05-C,curl,lib/curlx/strdup.c,64,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/strdup.c,66,FP,curlx_malloc is a macro/decl from curl memory headers; declared before use.,curl_full_audit_0.4.35,high
STR31-C,curl,lib/curlx/strdup.c,70,FP,"memdup copies exactly length bytes of arbitrary data, not a NUL-terminated string.",curl_full_audit_0.4.35,high
API05-C,curl,lib/curlx/strdup.c,85,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
DCL31-C,curl,lib/curlx/strdup.c,87,FP,curlx_malloc macro/decl from curl memory headers; declared before use.,curl_full_audit_0.4.35,high
STR31-C,curl,lib/curlx/strdup.c,92,FP,memdup0 copies length bytes then explicitly adds buf[length]=0; terminator handled.,curl_full_audit_0.4.35,high
EXP34-C,curl,lib/curlx/strdup.c,92,FP,memcpy guarded by if(length) and DEBUGASSERT(src); src non-NULL when length>0.,curl_full_audit_0.4.35,high
ARR00-C,curl,lib/curlx/strdup.c,95,FP,"buf is a malloc'd heap pointer returned to caller, not a local array.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,79,FP,ch = *ptr only compared to small literals; no widening sign-extension hazard.,curl_full_audit_0.4.35,med
EXP34-C,curl,lib/dict.c,161,FP,path set by Curl_urldecode which returns early on error; path non-NULL on success.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,166,FP,"Writing (char)0 to *database++; this is a store, not a sign-extending read.",curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,169,FP,Store of (char)0 to *strategy++; not a widening read.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,172,FP,Store of (char)0 to *nthdef; not a widening read.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,213,FP,Store of (char)0 to *database++; not a widening read.,curl_full_audit_0.4.35,high
STR34-C,curl,lib/dict.c,216,FP,Store of (char)0 to *nthdef; not a widening read.,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/dict.c,303,FP,Curl_scheme_dict is referenced from the global scheme table in other files; needs external linkage.,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/dict.c,303,FP,Scheme table entry referenced across translation units; cannot be file-local.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/llist.c,34,FP,verifynode returns n as non-const; adding const to param would conflict with return type.,curl_full_audit_0.4.35,high
PRE01-C,curl,lib/llist.c,40,FP,"VERIFYNODE(x) expands to bare x (identity); parenthesizing identity macro is needless, no precedence risk.",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/llist.c,168,FP,"Returns ptr = e->_ptr (caller's stored heap data), not address of a local variable.",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/llist.c,175,FP,Curl_node_uremove is UNITTEST-exported and called by Curl_node_remove; external linkage intended.,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/llist.c,175,FP,UNITTEST symbol referenced by unit tests in other TUs; cannot be static.,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/llist.c,196,FP,"Curl_llist_destroy mutates list via Curl_node_uremove (shrinks list); list is modified, not const.",curl_full_audit_0.4.35,high
API00-C,curl,lib/llist.c,234,FP,"Curl_node_elem guards n with DEBUGASSERT(n); internal API, callers pass valid nodes.",curl_full_audit_0.4.35,high
EXP34-C,curl,lib/llist.c,237,FP,n asserted non-NULL by contract; internal list API never called with NULL node.,curl_full_audit_0.4.35,med
API00-C,curl,lib/llist.c,254,FP,Curl_node_prev (UNITTESTS only) asserts n; internal API contract guarantees non-NULL.,curl_full_audit_0.4.35,high
API05-C,curl,lib/multiif.h,92,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,91,FP,"pbuflen is the out-size; borrow returns buffer+length, no missing size arg.",curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,98,FP,release takes the previously-borrowed buf back by identity; no size param needed.,curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,115,FP,pbuflen is the out-size for borrowed buffer; no missing size arg.,curl_full_audit_0.4.35,high
API05-C,curl,lib/multiif.h,116,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,123,FP,release returns borrowed buf by identity; no size param needed.,curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,140,FP,"pbuf is char** out-pointer; borrow returns buffer, size handled internally.",curl_full_audit_0.4.35,high
API05-C,curl,lib/multiif.h,141,FP,Conformant-array-syntax advisory; categorical FP.,curl_full_audit_0.4.35,high
API02-C,curl,lib/multiif.h,147,FP,release returns borrowed buf by identity; no size param needed.,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cleartext.c,50,FP,authzid NULL-checked at line 58; SASL internal callers pass valid creds,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cleartext.c,50,FP,"authcid passed by internal SASL code, never user-NULL; advisory only",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cleartext.c,50,FP,"passwd internal SASL param, not externally NULL; advisory",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/cleartext.c,58,FP,"line 58 is strlen() call, no char-to-int sign-extension conversion present",curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/cleartext.c,58,FP,strlen on authzid; no signed-char widening; misparse,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/cleartext.c,59,FP,strlen(authcid); no signed-char integer conversion,curl_full_audit_0.4.35,high
STR34-C,curl,lib/vauth/cleartext.c,60,FP,strlen(passwd); no signed-char integer conversion,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cleartext.c,89,FP,"thin wrapper; value passed to strlen by internal caller, never NULL",curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/cleartext.c,107,FP,"thin wrapper to login_message; internal caller, no external NULL",curl_full_audit_0.4.35,high
DCL40-C,curl,lib/vauth/vauth.h,67,FP,two decls under #ifndef/#else USE_WINDOWS_SSPI; only one compiled,curl_full_audit_0.4.35,high
API02-C,curl,lib/vauth/vauth.h,109,FP,"outptr/outlen are output pointer pairs, not arrays needing size",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,110,FP,conformant-array advisory; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,111,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,112,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,113,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,115,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API02-C,curl,lib/vauth/vauth.h,341,FP,"outptr/outlen output pointer pair, not sized array",curl_full_audit_0.4.35,high
API05-C,curl,lib/vauth/vauth.h,342,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/vtls/vtls.h,53,FP,"ECH_ENABLED arg is simple pointer lvalue; double eval harmless, no side effects",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/vtls/vtls.h,53,FP,param only used with -> member access; no precedence risk,curl_full_audit_0.4.35,low
PRE12-C,curl,lib/vtls/vtls.h,53,FP,multiple eval of side-effect-free pointer lvalue; benign idiom,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,164,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,173,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,173,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,182,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,185,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls.h,186,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API02-C,curl,lib/vtls/vtls_scache.h,64,FP,"ppeer_key is char** output, not sized input array",curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,146,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,147,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,153,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,154,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,156,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,203,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,204,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/vtls/vtls_scache.h,205,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/hmac.c,55,FP,"sizeof(*ctxt) does not dereference; ctxt only sized, then malloc'd",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hmac.c,59,FP,"ctxt is heap pointer from curlx_malloc, not stack local",curl_full_audit_0.4.35,high
DCL30-C,curl,lib/hmac.c,94,FP,"returns heap-allocated ctxt pointer, automatic storage misclassification",curl_full_audit_0.4.35,high
MSC07-C,curl,lib/hmac.c,96,FP,"line 96 is the 'fail:' label reachable via goto, not unreachable",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/hmac.c,101,FP,ctxt's pointed-to hash contexts are mutated via hupdate; const wrong,curl_full_audit_0.4.35,high
API05-C,curl,lib/hmac.c,145,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/hmac.c,146,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/hmac.c,147,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip4.c,70,FP,thin resolver wrapper; hostname always non-NULL from internal callers,curl_full_audit_0.4.35,high
API00-C,curl,lib/hostip4.c,97,FP,"hostname internal, passed to gethostbyname; never user-NULL",curl_full_audit_0.4.35,high
DCL00-C,curl,lib/hostip4.c,106,FP,h is reassigned by gethostbyname_r/gethostbyname; not const-able,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip4.c,146,FP,"(char*)buf + sizeof(struct hostent) is correct byte arithmetic, not double-scaled",curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip4.c,165,FP,char* pointer plus sizeof is byte offset; not double scaling,curl_full_audit_0.4.35,high
ARR39-C,curl,lib/hostip4.c,232,FP,char* plus sizeof(struct hostent) correct byte offset for buffer layout,curl_full_audit_0.4.35,high
CON34-C,curl,lib/hostip4.c,265,TP,gethostbyname() fallback genuinely uses shared static storage; non-threadsafe path,curl_full_audit_0.4.35,low
MEM30-C,curl,lib/hostip4.c,274,FP,free at 256 and 274 are mutually-exclusive branches; not double-free,curl_full_audit_0.4.35,high
INT33-C,curl,lib/ratelimit.c,55,FP,"step_us init to CURL_US_PER_SEC, only reassigned nonzero; never zero",curl_full_audit_0.4.35,high
INT33-C,curl,lib/ratelimit.c,56,FP,step_us always nonzero (init + DEBUGASSERT); modulo safe,curl_full_audit_0.4.35,high
INT33-C,curl,lib/ratelimit.c,59,FP,elapsed_steps>=1: guard at line50 ensures elapsed_us>=step_us,curl_full_audit_0.4.35,high
INT10-C,curl,lib/ratelimit.c,136,FP,msteps>=1000 positive int64 in this branch; modulo always positive,curl_full_audit_0.4.35,high
INT33-C,curl,lib/ratelimit.c,137,FP,branch entered only when msteps>=1000 so msteps/1000>=1; nonzero,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/ratelimit.c,178,TP,"Curl_rlimit_per_step only reads r->rate_per_step; could be const, not vtable",curl_full_audit_0.4.35,low
DCL13-C,curl,lib/ratelimit.c,183,TP,Curl_rlimit_active only reads r fields; could be const,curl_full_audit_0.4.35,low
DCL13-C,curl,lib/ratelimit.c,188,TP,Curl_rlimit_is_blocked only reads r->blocked; could be const,curl_full_audit_0.4.35,low
ARR01-C,curl,lib/sigpipe.h,38,FP,"sizeof(*ig) is struct size for memset, correct; ig is single-object pointer",curl_full_audit_0.4.35,high
DCL13-C,curl,lib/sigpipe.h,47,TP,sigpipe_ignore only reads data->set.no_signal; could be const Curl_easy*,curl_full_audit_0.4.35,low
SIG00-C,curl,lib/sigpipe.h,56,FP,"setting SIG_IGN for SIGPIPE; sa_mask irrelevant for ignore, no handler",curl_full_audit_0.4.35,high
SIG02-C,curl,lib/sigpipe.h,56,FP,"ignoring SIGPIPE is the canonical correct use, not normal-functionality signaling",curl_full_audit_0.4.35,high
SIG00-C,curl,lib/sigpipe.h,64,FP,applying SIG_IGN action; sa_mask not relevant when ignoring,curl_full_audit_0.4.35,high
SIG02-C,curl,lib/sigpipe.h,64,FP,"SIGPIPE ignore/restore, correct usage",curl_full_audit_0.4.35,high
SIG00-C,curl,lib/sigpipe.h,77,FP,restoring previous SIGPIPE disposition; no handler/masking concern,curl_full_audit_0.4.35,high
SIG02-C,curl,lib/sigpipe.h,77,FP,restore of saved SIGPIPE action; correct,curl_full_audit_0.4.35,high
API02-C,curl,lib/url.h,46,FP,userp is char** output; login+len already provide bounds,curl_full_audit_0.4.35,high
API02-C,curl,lib/url.h,46,FP,"passwdp is char** output param, not a sized input array",curl_full_audit_0.4.35,high
API02-C,curl,lib/url.h,46,FP,optionsp is char** output param; size param already present (len),curl_full_audit_0.4.35,high
API05-C,curl,lib/url.h,46,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.h,47,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.h,47,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.h,48,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/url.h,77,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,37,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,40,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,58,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,60,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,62,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,63,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/http2.h,63,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
DCL00-C,curl,src/terminal.c,44,FP,width reassigned at lines 50/81/84; not const-able,curl_full_audit_0.4.35,high
ENV30-C,curl,src/terminal.c,49,FP,"p points into curl_getenv strdup'd copy; str_number advances ptr, no env mutation",curl_full_audit_0.4.35,high
EXP33-C,curl,src/terminal.c,49,FP,"num read only after str_number succeeds (short-circuit), which initializes it",curl_full_audit_0.4.35,high
ENV30-C,curl,src/terminal.c,51,FP,"colp is malloc'd by curl_getenv; freeing it is correct, not env buffer",curl_full_audit_0.4.35,high
DCL00-C,curl,src/terminal.c,55,FP,cols reassigned at lines 60/64/76/81; not const-able,curl_full_audit_0.4.35,high
DCL39-C,curl,src/terminal.c,59,FP,"ioctl fills ts from kernel (read into struct), no userspace padding leak out",curl_full_audit_0.4.35,high
DCL39-C,curl,src/terminal.c,63,FP,ioctl TIOCGWINSZ reads window size into ts; not a leak across trust boundary,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_stderr.c,34,FP,"stderr is a global FILE*, not stack-allocated; no escape",curl_full_audit_0.4.35,high
EXP20-C,curl,src/tool_stderr.c,44,FP,!strcmp idiom for filename equality; idiomatic curl style,curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_stderr.c,45,FP,"stdout is global FILE*, not stack memory",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_stderr.c,61,FP,freopen returns stderr stream itself; not a leaked separate fp,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_stderr.c,61,FP,fp aliases stderr after freopen; closing program stream not required,curl_full_audit_0.4.35,high
MEM12-C,curl,src/tool_stderr.c,65,FP,"fp is stderr; nothing leaked, freopen reuses existing stream",curl_full_audit_0.4.35,high
MEM30-C,curl,src/tool_stderr.c,68,FP,"stderr is global FILE*, not stack memory",curl_full_audit_0.4.35,high
ARR02-C,curl,lib/arpa_telnet.h,45,FP,"telnetoptions[] sized by initializer; valid C, advisory only",curl_full_audit_0.4.35,high
PRE01-C,curl,lib/arpa_telnet.h,57,FP,CURL_TELOPT(x) uses x as array index; no precedence risk in practice,curl_full_audit_0.4.35,low
ARR02-C,curl,lib/arpa_telnet.h,87,FP,"telnetcmds[] sized by initializer; valid C, advisory only",curl_full_audit_0.4.35,high
PRE00-C,curl,lib/arpa_telnet.h,103,FP,"CURL_TELCMD_OK bounds-check macro, side-effect-free args; benign double eval",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/arpa_telnet.h,103,FP,x cast and compared twice but no side effects; idiomatic,curl_full_audit_0.4.35,high
PRE02-C,curl,lib/arpa_telnet.h,108,FP,"replacement is array subscript postfix expr; already self-contained, no wrap needed",curl_full_audit_0.4.35,med
DCL31-C,curl,lib/cf-haproxy.c,57,FP,curlx_free declared in curlx header included transitively; sqc macro/header blind,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/cf-haproxy.c,205,FP,cf_haproxy_adjust_pollset is cftype vtable fn; signature fixed by function pointer,curl_full_audit_0.4.35,high
EXP33-C,curl,lib/cf-haproxy.c,212,FP,ctx assigned from curlx_calloc before use; allocator opaque to sqc,curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-haproxy.c,231,FP,"cf_at passed onward, data unused; thin insert wrapper, internal callers",curl_full_audit_0.4.35,high
API00-C,curl,lib/cf-haproxy.c,231,FP,data param unused (void); no deref to validate,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/cf-haproxy.c,231,FP,function ends with explicit 'return result' on all paths,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/curl_gethostname.c,44,FP,all #ifdef branches return (-1/0/err/1); no fallthrough end,curl_full_audit_0.4.35,high
ERR33-C,curl,lib/curl_gethostname.c,60,FP,getenv result checked via if(force_hostname) at line 61,curl_full_audit_0.4.35,high
CON34-C,curl,lib/curl_gethostname.c,60,FP,"DEBUGBUILD-only test hook; value copied immediately, read-only",curl_full_audit_0.4.35,med
EXP05-C,curl,lib/curl_gethostname.c,77,FP,name is 'char* const' not const-data; char*->uchar* not casting away const,curl_full_audit_0.4.35,high
STR30-C,curl,lib/curl_gethostname.c,92,FP,"dot points into caller's writable name buffer, not a string literal",curl_full_audit_0.4.35,high
STR34-C,curl,lib/curl_gethostname.c,92,FP,assigning '\0' to *dot; no char-to-larger-int sign extension,curl_full_audit_0.4.35,high
DCL23-C,curl,lib/curl_rtmp.h,27,FP,Curl_scheme_rtmpt distinct scheme handler names; trailing-char diff is intentional,curl_full_audit_0.4.35,high
DCL23-C,curl,lib/curl_rtmp.h,28,FP,rtmpe distinct RTMP variant handler; intentional naming,curl_full_audit_0.4.35,high
DCL23-C,curl,lib/curl_rtmp.h,29,FP,rtmpte distinct variant; intentional,curl_full_audit_0.4.35,high
DCL23-C,curl,lib/curl_rtmp.h,30,FP,rtmps distinct variant; intentional,curl_full_audit_0.4.35,high
DCL23-C,curl,lib/curl_rtmp.h,31,FP,rtmpts distinct variant; intentional,curl_full_audit_0.4.35,high
API05-C,curl,lib/curl_rtmp.h,33,FP,conformant-array advisory; pointer param convention,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_share.h,37,FP,"GOOD_SHARE_HANDLE validation macro, side-effect-free arg; benign",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_share.h,37,FP,x compared twice but no side effects; idiomatic guard,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_share.h,39,FP,"flag-test macro, side-effect-free arg",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_share.h,39,FP,s evaluated twice but harmless; idiomatic,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/curl_share.h,73,FP,"member-access macro, side-effect-free arg",curl_full_audit_0.4.35,high
PRE12-C,curl,lib/curl_share.h,73,FP,data evaluated twice but no side effects; benign,curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curlx/warnless.h,44,FP,"ssize_t return on type-conversion helper; advisory style, not an error/data mix bug",curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curlx/warnless.h,48,FP,ssize_t param on conversion helper; advisory style only,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/warnless.h,64,FP,"size_t* is a scalar out-param, not an array needing capacity",curl_full_audit_0.4.35,high
ERR02-C,curl,lib/curlx/warnless.h,64,FP,ssize_t input to conversion helper; advisory style,curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/warnless.h,68,FP,"size_t* scalar out-param, not an array",curl_full_audit_0.4.35,high
API02-C,curl,lib/curlx/warnless.h,72,FP,"size_t* scalar out-param, not an array",curl_full_audit_0.4.35,high
DCL15-C,curl,lib/getenv.c,26,FP,curl_getenv is public exported API (curl.h); cannot be static,curl_full_audit_0.4.35,high
MEM30-C,curl,lib/getenv.c,26,FP,realloc size rc is never 0 in loop; on NULL old buf freed once then return,curl_full_audit_0.4.35,high
MSC37-C,curl,lib/getenv.c,26,FP,Every branch returns; infinite for-loop only exits via return statements,curl_full_audit_0.4.35,high
ENV34-C,curl,lib/getenv.c,66,FP,"getenv result immediately strdup'd, not stored long-term",curl_full_audit_0.4.35,high
ERR33-C,curl,lib/getenv.c,66,FP,NULL handled: (env && env[0]) ? strdup : NULL,curl_full_audit_0.4.35,high
CON34-C,curl,lib/getenv.c,66,FP,"getenv result copied immediately; advisory thread note, not a defect here",curl_full_audit_0.4.35,med
DCL13-C,curl,lib/gopher.c,40,FP,gopher_connect signature fixed by Curl_handler vtable typedef; const impossible,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/gopher.c,40,FP,done is bool* output param of fixed vtable callback signature,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/gopher.c,219,FP,Curl_scheme_gopher referenced externally in scheme table; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/gopher.c,219,FP,Externally-referenced scheme descriptor; file scope is required,curl_full_audit_0.4.35,high
DCL15-C,curl,lib/gopher.c,232,FP,Curl_scheme_gophers referenced externally; needs external linkage,curl_full_audit_0.4.35,high
DCL19-C,curl,lib/gopher.c,232,FP,Externally-referenced scheme descriptor; file scope required,curl_full_audit_0.4.35,high
PRE00-C,curl,lib/pingpong.h,73,FP,"do-while assignment macro; pp used only as assignment target, no side-effect callers",curl_full_audit_0.4.35,med
PRE01-C,curl,lib/pingpong.h,73,FP,"s is a complete RHS identifier; parenthesizing changes nothing, no precedence risk",curl_full_audit_0.4.35,med
PRE01-C,curl,lib/pingpong.h,73,FP,e is a complete RHS identifier; no precedence risk,curl_full_audit_0.4.35,med
PRE12-C,curl,lib/pingpong.h,73,FP,"pp assignment-target only; callers pass plain &pp addresses, no double-eval defect",curl_full_audit_0.4.35,med
API02-C,curl,lib/pingpong.h,130,FP,"size_t* is scalar out-param for response size, not an array",curl_full_audit_0.4.35,high
API05-C,curl,lib/pingpong.h,133,FP,Advisory conformant-array style; curl never uses C99 array-param syntax,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,92,FP,Defining Windows SDK _WIN32_WINNT_* under #ifndef shim; required platform macro,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,95,FP,Windows SDK macro shim guarded by #ifndef; intentional,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,98,FP,Windows SDK macro shim; intentional platform compatibility define,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,101,FP,Windows SDK macro shim; intentional,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,104,FP,Windows SDK macro shim; intentional,curl_full_audit_0.4.35,high
DCL37-C,curl,lib/setup-win32.h,107,FP,Windows SDK macro shim; intentional,curl_full_audit_0.4.35,high
API02-C,curl,lib/strcase.h,35,FP,n size param already present; rule misreads dest as unsized array,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.h,35,FP,Advisory conformant-array style; not curl convention,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.h,35,FP,Advisory conformant-array style on src param,curl_full_audit_0.4.35,high
API02-C,curl,lib/strcase.h,36,FP,n size param present; advisory misfire,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.h,36,FP,Advisory conformant-array style,curl_full_audit_0.4.35,high
API05-C,curl,lib/strcase.h,36,FP,Advisory conformant-array style on src param,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_gssapi.c,76,FP,Internal auth API; data always valid from caller; siblings unchecked too,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_gssapi.c,76,FP,krb5 supplied by internal SASL machinery; never NULL,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_gssapi.c,179,FP,krb5 internal in/out struct always valid from caller,curl_full_audit_0.4.35,high
DCL13-C,curl,lib/vauth/krb5_gssapi.c,182,FP,"krb5->context passed to gss_unwrap; struct logically in/out, curl avoids const here",curl_full_audit_0.4.35,med
DCL00-C,curl,lib/vauth/krb5_gssapi.c,196,FP,max_size IS modified later (lines 246/260-262); cannot be const,curl_full_audit_0.4.35,high
API00-C,curl,lib/vauth/krb5_gssapi.c,305,FP,cleanup called internally with valid krb5; gss_release_* handles members,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_dirhie.c,87,FP,outfile always a valid path from caller; strlen would crash but contract guarantees non-NULL,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_dirhie.c,90,FP,outfile is char* passed to strlen; no char-to-int sign extension occurs,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_dirhie.c,97,FP,outfile is pointer arg to strspn; no signed-char promotion,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_dirhie.c,98,FP,*outfile used as loop truthiness/index; no widening sign-extension defect,curl_full_audit_0.4.35,high
STR34-C,curl,src/tool_dirhie.c,98,FP,outfile pointer arithmetic; not a signed-char conversion,curl_full_audit_0.4.35,high
DCL18-C,curl,src/tool_dirhie.c,123,FP,0000750 is intentional octal file mode for mkdir; correct usage,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_easysrc.c,44,FP,"Advisory; NULL-terminated string array, implicit bounds idiomatic",curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_easysrc.c,60,FP,Advisory; NULL-terminated string array,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_easysrc.c,67,FP,Advisory; NULL-terminated string array,curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_easysrc.c,100,FP,"*plist = list stores heap slist into out-param, not address of local",curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_easysrc.c,179,FP,out fclosed at line 228 when fopened; stdout intentionally not closed,curl_full_audit_0.4.35,high
FIO42-C,curl,src/tool_easysrc.c,179,FP,Duplicate of fopen finding; out is closed when opened,curl_full_audit_0.4.35,high
ARR02-C,curl,src/tool_xattr.c,34,FP,"Advisory; NULL-terminated mapping table, implicit bounds idiomatic",curl_full_audit_0.4.35,high
DCL30-C,curl,src/tool_xattr.c,70,FP,nurl is heap buffer from curl_url_get; returning it is correct (documented free),curl_full_audit_0.4.35,high
CON34-C,curl,src/tool_xattr.c,84,FP,"DEBUGBUILD-only test hook getenv; advisory thread note, not a defect",curl_full_audit_0.4.35,med
ERR02-C,curl,src/tool_xattr.c,95,FP,ssize_t from extattr_set_fd checked rc<0; advisory style only,curl_full_audit_0.4.35,high
API00-C,curl,src/tool_xattr.c,108,FP,curl handle valid from tool_operate; getinfo NULL-checks internally,curl_full_audit_0.4.35,high
INT32-C,curl,src/tool_xattr.c,119,FP,i indexes 3-element mappings[] bounded by NULL terminator; cannot near INT_MAX,curl_full_audit_0.4.35,high
MEM31-C,curl,lib/vtls/vtls_spack.c,277,FN,"Duplicate ALPN/TICKET/QUICTP tag overwrites s->alpn/sdata/quic_tp (each memdup0-allocated); destroy frees only last copy, first leaks on untrusted decode.",curl_full_audit_0.4.35,med
FIO42-C,curl,src/tool_doswin.c,869,FN,socket_r created after tdata=NULL; cleanup sclose guarded by '&& tdata' so connect/shutdown/SetStdHandle failure leaks socket_r. Windows-only.,curl_full_audit_0.4.35,low
MEM31-C,curl,src/var.c,309,FN,"When funcp set, varfunc populates buf; null-byte detection returns PARAM_EXPAND_ERROR before curlx_dyn_free(&buf) at 314. buf leaks. Tool-side, requires expanded value with embedded NUL.",curl_full_audit_0.4.35,low
EXP34-C,curl,src/tool_setopt.c,438,FN,c_escape returns NULL on OOM; TOOLMIME cases pass escaped to easysrc_addf %s without guard (libcurl_generate_slist guards). NULL-to-%s on OOM. CSV upstream_present False corrected to True (present in curl-main).,curl_full_audit_0.4.35,low
INT30-C,curl,lib/vtls/x509asn1.c,982,FN,"Unsigned wrap on span<2 yields garbage 'len', but it only feeds an infof log and an snprintf into an adequately sized local buffer. No memory access; cosmetic only.",curl_full_audit_0.4.35,low