File: src/BTrees/BucketTemplate.c
Function: bucket_split
Error: ob_refcnt of '*next' is 1 too high
532 static int
533 bucket_split(Bucket *self, int index, Bucket *next)
534 {
535     int next_size;
536 
537     ASSERT(self->len > 1, "split of empty bucket", -1);
when considering range: 2 <= value <= 0x7fffffff
taking False path
538 
539     if (index < 0 || index >= self->len)
when considering range: 0 <= value <= 0x7fffffff
taking False path
when taking True path
540 	index = self->len / 2;
541 
542     next_size = self->len - index;
543 
544     next->keys = BTree_Malloc(sizeof(KEY_TYPE) * next_size);
545     if (!next->keys)
when treating unknown void * from src/BTrees/BucketTemplate.c:544 as non-NULL
taking False path
546 	return -1;
547     memcpy(next->keys, self->keys + index, sizeof(KEY_TYPE) * next_size);
548     if (self->values) {
when treating unknown struct PyObject * * from src/BTrees/BucketTemplate.c:548 as non-NULL
taking True path
549 	next->values = BTree_Malloc(sizeof(VALUE_TYPE) * next_size);
550 	if (!next->values) {
when treating unknown void * from src/BTrees/BucketTemplate.c:549 as non-NULL
taking False path
551             free(next->keys);
552             next->keys = NULL;
553             return -1;
554         }
555 	memcpy(next->values, self->values + index,
556 	       sizeof(VALUE_TYPE) * next_size);
557     }
558     next->size = next_size;
559     next->len = next_size;
560     self->len = index;
561 
562     next->next = self->next;
563 
564     Py_INCREF(next);
ob_refcnt is now refs: 1 + N where N >= 1
565     self->next = next;
566 
567     if (PER_CHANGED(self) < 0)
when treating unknown struct cPersistenceCAPIstruct * from src/persistent/cPersistence.h:112 as non-NULL
calling unknown int (*) (struct cPersistentObject *) from src/BTrees/BucketTemplate.c:567
when considering range: -0x80000000 <= value <= -1
taking True path
568         return -1;
569 
570     return 0;
571 }
ob_refcnt of '*next' is 1 too high
was expecting final ob_refcnt to be N + 0 (for some unknown N)
but final ob_refcnt is N + 1
found 7 similar trace(s) to this