mirror of
				https://github.com/isar/libmdbx.git
				synced 2025-11-04 05:08:57 +08:00 
			
		
		
		
	lmdb: Fix potential null deref (coverity).
Change-Id: Icc5cadfddecbea81c835d84e4ada785e34638514
This commit is contained in:
		
							
								
								
									
										10
									
								
								mdb.c
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								mdb.c
									
									
									
									
									
								
							@@ -5185,13 +5185,15 @@ mdb_env_close0(MDB_env *env, int excl)
 | 
			
		||||
		return;
 | 
			
		||||
 | 
			
		||||
	/* Doing this here since me_dbxs may not exist during mdb_env_close */
 | 
			
		||||
	for (i = env->me_maxdbs; --i > MAIN_DBI; )
 | 
			
		||||
		free(env->me_dbxs[i].md_name.mv_data);
 | 
			
		||||
	if (env->me_dbxs) {
 | 
			
		||||
		for (i = env->me_maxdbs; --i > MAIN_DBI; )
 | 
			
		||||
			free(env->me_dbxs[i].md_name.mv_data);
 | 
			
		||||
		free(env->me_dbxs);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	free(env->me_pbuf);
 | 
			
		||||
	free(env->me_dbiseqs);
 | 
			
		||||
	free(env->me_dbflags);
 | 
			
		||||
	free(env->me_dbxs);
 | 
			
		||||
	free(env->me_path);
 | 
			
		||||
	free(env->me_dirty_list);
 | 
			
		||||
	if (env->me_txn0)
 | 
			
		||||
@@ -7990,7 +7992,7 @@ mdb_node_move(MDB_cursor *csrc, MDB_cursor *cdst)
 | 
			
		||||
			cdst->mc_ki[cdst->mc_top] = 0;
 | 
			
		||||
			rc = mdb_update_key(cdst, &nullkey);
 | 
			
		||||
			cdst->mc_ki[cdst->mc_top] = ix;
 | 
			
		||||
			mdb_cassert(csrc, rc == MDB_SUCCESS);
 | 
			
		||||
			mdb_cassert(cdst, rc == MDB_SUCCESS);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user