mirror of https://github.com/aria2/aria2
				
				
				
			Fixed the bug due to dangling pointers in RequestGroup.
RequestGroup holds a poitner to btRuntime_ and peerStorage_. After removing them from BtRegistry, we failed to set 0 to them. When program access them, it goes undefined world, such as random crash. We found this bug when pasuing download and valgrind warned memory corruption.pull/1/head
							parent
							
								
									c58f736bb9
								
							
						
					
					
						commit
						97f76b7cf4
					
				|  | @ -1021,6 +1021,8 @@ void RequestGroup::releaseRuntimeResource(DownloadEngine* e) | |||
| { | ||||
| #ifdef ENABLE_BITTORRENT | ||||
|   e->getBtRegistry()->remove(gid_); | ||||
|   btRuntime_ = 0; | ||||
|   peerStorage_ = 0; | ||||
| #endif // ENABLE_BITTORRENT
 | ||||
|   if(pieceStorage_) { | ||||
|     pieceStorage_->removeAdvertisedPiece(0); | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Tatsuhiro Tsujikawa
						Tatsuhiro Tsujikawa