4 new coverity issues have been reported, ID's 1375904-1375907
4 new defect(s) introduced to WiredTiger found with Coverity Scan.
New defect(s) Reported-by: Coverity Scan
Showing 4 of 4 defect(s)
** CID 1375907: Resource leaks (RESOURCE_LEAK)
/src/btree/row_modify.c: 23 in __wt_page_modify_alloc()
________________________________________________________________________________________________________
*** CID 1375907: Resource leaks (RESOURCE_LEAK)
/src/btree/row_modify.c: 23 in __wt_page_modify_alloc()
17 {
18 WT_PAGE_MODIFY *modify;
19
20 WT_RET(__wt_calloc_one(session, &modify));
21
22 /* Initialize the spinlock for the page. */
>>> CID 1375907: Resource leaks (RESOURCE_LEAK)
>>> Variable "modify" going out of scope leaks the storage it points to.
23 WT_RET(__wt_spin_init(session, &modify->page_lock, "btree page"));
24
25 /*
26 * Multiple threads of control may be searching and deciding to modify
27 * a page. If our modify structure is used, update the page's memory
28 * footprint, else discard the modify structure, another thread did the
** CID 1375906: Control flow issues (MISSING_RESTORE)
/src/lsm/lsm_work_unit.c: 393 in __wt_lsm_checkpoint_chunk()
________________________________________________________________________________________________________
*** CID 1375906: Control flow issues (MISSING_RESTORE)
/src/lsm/lsm_work_unit.c: 393 in __wt_lsm_checkpoint_chunk()
387 WT_ERR(__wt_lsm_manager_push_entry(
388 session, WT_LSM_WORK_BLOOM, 0, lsm_tree));
389 else
390 WT_ERR(__wt_lsm_manager_push_entry(
391 session, WT_LSM_WORK_MERGE, 0, lsm_tree));
392
>>> CID 1375906: Control flow issues (MISSING_RESTORE)
>>> Jumped to here, skipping restore.
393 err: if (flush_set)
394 WT_PUBLISH(chunk->flushing, 0);
395 if (release_btree)
396 WT_TRET(__wt_session_release_btree(session));
397
398 return (ret);
** CID 1375905: Resource leaks (RESOURCE_LEAK)
/src/lsm/lsm_tree.c: 475 in __lsm_tree_open()
________________________________________________________________________________________________________
*** CID 1375905: Resource leaks (RESOURCE_LEAK)
/src/lsm/lsm_tree.c: 475 in __lsm_tree_open()
469 if ((ret = __lsm_tree_find(
470 session, uri, exclusive, treep)) != WT_NOTFOUND)
471 return (ret);
472
473 /* Try to open the tree. */
474 WT_RET(__wt_calloc_one(session, &lsm_tree));
>>> CID 1375905: Resource leaks (RESOURCE_LEAK)
>>> Variable "lsm_tree" going out of scope leaks the storage it points to.
475 WT_RET(__wt_rwlock_init(session, &lsm_tree->rwlock));
476
477 WT_ERR(__lsm_tree_set_name(session, lsm_tree, uri));
478
479 WT_ERR(__wt_lsm_meta_read(session, lsm_tree));
480
** CID 1375904: (LOCK)
/src/btree/bt_split.c: 1202 in __split_internal_lock()
/src/btree/bt_split.c: 1202 in __split_internal_lock()
________________________________________________________________________________________________________
*** CID 1375904: (LOCK)
/src/btree/bt_split.c: 1202 in __split_internal_lock()
1196 if (!__wt_ref_is_root(parent_ref = parent->pg_intl_parent_ref)) {
1197 WT_ERR(__wt_page_in(session, parent_ref, WT_READ_NO_EVICT));
1198 *hazardp = true;
1199 }
1200
1201 *parentp = parent;
>>> CID 1375904: (LOCK)
>>> Returning without unlocking "parent->modify->page_lock.lock".
1202 return (0);
1203
1204 err: WT_PAGE_UNLOCK(session, parent);
1205 return (ret);
1206 }
1207
/src/btree/bt_split.c: 1202 in __split_internal_lock()
1196 if (!__wt_ref_is_root(parent_ref = parent->pg_intl_parent_ref)) {
1197 WT_ERR(__wt_page_in(session, parent_ref, WT_READ_NO_EVICT));
1198 *hazardp = true;
1199 }
1200
1201 *parentp = parent;
>>> CID 1375904: (LOCK)
>>> Returning without unlocking "parent->modify->page_lock.lock".
1202 return (0);
1203
1204 err: WT_PAGE_UNLOCK(session, parent);
1205 return (ret);
1206 }
1207