hw/9pfs: avoid buffer overrun
v9fs_add_dir_node and qemu_v9fs_synth_add_file used strncpy to form node->name, which requires NUL-termination, but strncpy does not ensure NUL-termination. Use pstrcpy, which does. Acked-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Jim Meyering <meyering@redhat.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									d66f8e7bd3
								
							
						
					
					
						commit
						a79b5f8b80
					
				| @ -58,7 +58,7 @@ static V9fsSynthNode *v9fs_add_dir_node(V9fsSynthNode *parent, int mode, | ||||
|         node->attr->read  = NULL; | ||||
|     } | ||||
|     node->private = node; | ||||
|     strncpy(node->name, name, sizeof(node->name)); | ||||
|     pstrcpy(node->name, sizeof(node->name), name); | ||||
|     QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); | ||||
|     return node; | ||||
| } | ||||
| @ -132,7 +132,7 @@ int qemu_v9fs_synth_add_file(V9fsSynthNode *parent, int mode, | ||||
|     node->attr->write  = write; | ||||
|     node->attr->mode   = mode; | ||||
|     node->private      = arg; | ||||
|     strncpy(node->name, name, sizeof(node->name)); | ||||
|     pstrcpy(node->name, sizeof(node->name), name); | ||||
|     QLIST_INSERT_HEAD_RCU(&parent->child, node, sibling); | ||||
|     ret = 0; | ||||
| err_out: | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Jim Meyering
						Jim Meyering