Fixed findings

List of Findings

Error: GCC_ANALYZER_WARNING (CWE-476): [#def1]
Pillow-12.1.0/src/libImaging/Arrow.c:222:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*schema.children’
Pillow-12.1.0/src/libImaging/Arrow.c:188:1: enter_function: entry to ‘export_imaging_schema’
Pillow-12.1.0/src/libImaging/Arrow.c:192:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:197:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:197:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:201:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:201:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:215:14: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:215:14: call_function: calling ‘export_named_type’ from ‘export_imaging_schema’
Pillow-12.1.0/src/libImaging/Arrow.c:215:14: return_function: returning to ‘export_imaging_schema’ from ‘export_named_type’
Pillow-12.1.0/src/libImaging/Arrow.c:216:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:220:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:221:24: acquire_memory: this call could return NULL
Pillow-12.1.0/src/libImaging/Arrow.c:222:5: danger: ‘calloc(1, 8)’ could be NULL: unchecked value from [(19)](sarif:/runs/0/results/2/codeFlows/0/threadFlows/0/locations/18)
#  220|       schema->n_children = 1;
#  221|       schema->children = calloc(1, sizeof(struct ArrowSchema *));
#  222|->     schema->children[0] = (struct ArrowSchema *)calloc(1, sizeof(struct ArrowSchema));
#  223|       retval = export_named_type(
#  224|           schema->children[0], im->arrow_band_format, getModeData(im->mode)->name

Error: GCC_ANALYZER_WARNING (CWE-476): [#def2]
Pillow-12.1.0/src/libImaging/Arrow.c:306:5: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘*array.buffers’
Pillow-12.1.0/src/libImaging/Arrow.c:278:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:282:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:304:37: acquire_memory: this call could return NULL
Pillow-12.1.0/src/libImaging/Arrow.c:306:5: danger: ‘malloc(16)’ could be NULL: unchecked value from [(3)](sarif:/runs/0/results/3/codeFlows/0/threadFlows/0/locations/2)
#  304|       array->buffers = (const void **)malloc(sizeof(void *) * array->n_buffers);
#  305|       // assert(array->buffers != NULL);
#  306|->     array->buffers[0] = NULL;  // no nulls, null bitmap can be omitted
#  307|   
#  308|       if (im->block) {

Error: GCC_ANALYZER_WARNING (CWE-476): [#def3]
Pillow-12.1.0/src/libImaging/Arrow.c:387:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(2, 8)’
Pillow-12.1.0/src/libImaging/Arrow.c:321:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:325:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:350:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:354:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:359:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:362:47: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:363:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:368:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:384:24: acquire_memory: this call could return NULL
Pillow-12.1.0/src/libImaging/Arrow.c:386:8: branch_true: following ‘true’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:387:9: branch_true: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:387:9: danger: ‘calloc(2, 8)’ could be NULL: unchecked value from [(9)](sarif:/runs/0/results/5/codeFlows/0/threadFlows/0/locations/8)
#  385|   
#  386|       if (im->block) {
#  387|->         array->children[0]->buffers[1] = im->block;
#  388|       } else {
#  389|           array->children[0]->buffers[1] = im->blocks[0].ptr;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def4]
Pillow-12.1.0/src/libImaging/Arrow.c:389:9: warning[-Wanalyzer-possible-null-dereference]: dereference of possibly-NULL ‘calloc(2, 8)’
Pillow-12.1.0/src/libImaging/Arrow.c:321:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:325:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:350:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:354:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:359:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:362:47: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:363:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:368:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:384:24: acquire_memory: this call could return NULL
Pillow-12.1.0/src/libImaging/Arrow.c:386:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:389:42: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:389:9: danger: ‘calloc(2, 8)’ could be NULL: unchecked value from [(9)](sarif:/runs/0/results/6/codeFlows/0/threadFlows/0/locations/8)
#  387|           array->children[0]->buffers[1] = im->block;
#  388|       } else {
#  389|->         array->children[0]->buffers[1] = im->blocks[0].ptr;
#  390|       }
#  391|       return 0;

Error: GCC_ANALYZER_WARNING (CWE-476): [#def5]
Pillow-12.1.0/src/libImaging/Arrow.c:394:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘*array.children’
Pillow-12.1.0/src/libImaging/Arrow.c:321:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:325:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:350:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:354:5: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:358:23: acquire_memory: allocated here
Pillow-12.1.0/src/libImaging/Arrow.c:359:8: release_memory: assuming ‘*array.children’ is NULL
Pillow-12.1.0/src/libImaging/Arrow.c:359:8: branch_true: following ‘true’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:360:9: branch_true: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:394:9: danger: dereference of NULL ‘*array.children’
#  392|   
#  393|   err:
#  394|->     if (array->children[0]) {
#  395|           free(array->children[0]);
#  396|       }

Error: GCC_ANALYZER_WARNING (CWE-476): [#def6]
Pillow-12.1.0/src/libImaging/Arrow.c:394:9: warning[-Wanalyzer-null-dereference]: dereference of NULL ‘0’
Pillow-12.1.0/src/libImaging/Arrow.c:321:8: branch_false: following ‘false’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:325:9: branch_false: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:350:8: branch_true: following ‘true’ branch...
Pillow-12.1.0/src/libImaging/Arrow.c:351:9: branch_true: ...to here
Pillow-12.1.0/src/libImaging/Arrow.c:394:9: release_memory: using NULL here
Pillow-12.1.0/src/libImaging/Arrow.c:394:9: danger: dereference of NULL ‘*array.children’
#  392|   
#  393|   err:
#  394|->     if (array->children[0]) {
#  395|           free(array->children[0]);
#  396|       }

Scan Properties

analyzer-version-clippy1.95.0
analyzer-version-cppcheck2.20.0
analyzer-version-gcc16.1.1
analyzer-version-gcc-analyzer16.1.1
analyzer-version-shellcheck0.11.0
analyzer-version-unicontrol0.0.2
diffbase-analyzer-version-clippy1.95.0
diffbase-analyzer-version-cppcheck2.20.0
diffbase-analyzer-version-gcc16.1.1
diffbase-analyzer-version-gcc-analyzer16.1.1
diffbase-analyzer-version-shellcheck0.11.0
diffbase-analyzer-version-unicontrol0.0.2
diffbase-enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
diffbase-exit-code0
diffbase-hostip-172-16-1-147.us-west-2.compute.internal
diffbase-known-false-positives/usr/share/csmock/known-false-positives.js
diffbase-known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
diffbase-mock-configfedora-rawhide-x86_64
diffbase-project-namepython-pillow-12.2.0-1.fc45
diffbase-store-results-to/tmp/tmpdlwcgr72/python-pillow-12.2.0-1.fc45.tar.xz
diffbase-time-created2026-06-01 16:11:55
diffbase-time-finished2026-06-01 16:15:19
diffbase-toolcsmock
diffbase-tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmpdlwcgr72/python-pillow-12.2.0-1.fc45.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmpdlwcgr72/python-pillow-12.2.0-1.fc45.src.rpm'
diffbase-tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9
enabled-pluginsclippy, cppcheck, gcc, shellcheck, unicontrol
exit-code0
hostip-172-16-1-147.us-west-2.compute.internal
known-false-positives/usr/share/csmock/known-false-positives.js
known-false-positives-rpmknown-false-positives-0.0.0.20260524.213755.g3c6d0be.main-1.el9.noarch
mock-configfedora-rawhide-x86_64
project-namepython-pillow-12.1.0-2.fc44
store-results-to/tmp/tmp67n618de/python-pillow-12.1.0-2.fc44.tar.xz
time-created2026-06-01 16:07:28
time-finished2026-06-01 16:11:27
titleFixed findings
toolcsmock
tool-args'/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'shellcheck,cppcheck,clippy,unicontrol,gcc' '-o' '/tmp/tmp67n618de/python-pillow-12.1.0-2.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp67n618de/python-pillow-12.1.0-2.fc44.src.rpm'
tool-versioncsmock-3.8.5.20260529.133039.g6f3b5c6-1.el9