mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 04:32:44 +00:00 
			
		
		
		
	Kernel: Harden sys$sendmsg / sys$recvmsg Vector usage against OOM.
This commit is contained in:
		
							parent
							
								
									6288ae2c37
								
							
						
					
					
						commit
						cd29eb7867
					
				
					 1 changed files with 4 additions and 2 deletions
				
			
		|  | @ -178,7 +178,8 @@ KResultOr<ssize_t> Process::sys$sendmsg(int sockfd, Userspace<const struct msghd | |||
|     if (msg.msg_iovlen != 1) | ||||
|         return ENOTSUP; // FIXME: Support this :)
 | ||||
|     Vector<iovec, 1> iovs; | ||||
|     iovs.resize(msg.msg_iovlen); | ||||
|     if (!iovs.try_resize(msg.msg_iovlen)) | ||||
|         return ENOMEM; | ||||
|     if (!copy_n_from_user(iovs.data(), msg.msg_iov, msg.msg_iovlen)) | ||||
|         return EFAULT; | ||||
| 
 | ||||
|  | @ -213,7 +214,8 @@ KResultOr<ssize_t> Process::sys$recvmsg(int sockfd, Userspace<struct msghdr*> us | |||
|     if (msg.msg_iovlen != 1) | ||||
|         return ENOTSUP; // FIXME: Support this :)
 | ||||
|     Vector<iovec, 1> iovs; | ||||
|     iovs.resize(msg.msg_iovlen); | ||||
|     if (!iovs.try_resize(msg.msg_iovlen)) | ||||
|         return ENOMEM; | ||||
|     if (!copy_n_from_user(iovs.data(), msg.msg_iov, msg.msg_iovlen)) | ||||
|         return EFAULT; | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Brian Gianforcaro
						Brian Gianforcaro