| 
					
				 | 
			
			
				@@ -35,6 +35,7 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "NsCookieParser.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include <fstream> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+#include <limits> 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "util.h" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 #include "A2STR.h" 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,12 +71,15 @@ bool parseNsCookie 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if(!util::parseLLIntNoThrow(expiryTime, vs[4])) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  if(sizeof(time_t) == 4 && expiryTime > INT32_MAX) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    expiryTime = INT32_MAX; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  if(std::numeric_limits<time_t>::max() < expiryTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    expiryTime = std::numeric_limits<time_t>::max(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  } else if(std::numeric_limits<time_t>::min() > expiryTime) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    expiryTime = std::numeric_limits<time_t>::min(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cookie.setName(vs[5]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cookie.setValue(vs.size() >= 7? vs[6]:A2STR::NIL); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  cookie.setExpiryTime(expiryTime == 0?INT32_MAX:expiryTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  cookie.setExpiryTime(expiryTime == 0? 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                       std::numeric_limits<time_t>::max():expiryTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // aria2 treats expiryTime == 0 means session cookie. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cookie.setPersistent(expiryTime != 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   cookie.setDomain(cookieDomain); 
			 |