hw/9pfs: Fix potential memory leak and avoid reuse of freed memory
The leak was reported by cppcheck. Function proxy_init also calls g_free for ctx->fs_root. Avoid reuse of this memory by setting ctx->fs_root to NULL. Signed-off-by: Stefan Weil <sw@weilnetz.de> Reviewed-by: M. Mohan Kumar <mohan@in.ibm.com> Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
This commit is contained in:
		
							parent
							
								
									d9cd4007d5
								
							
						
					
					
						commit
						80cba1b71e
					
				@ -1153,10 +1153,12 @@ static int proxy_init(FsContext *ctx)
 | 
				
			|||||||
        sock_id = atoi(ctx->fs_root);
 | 
					        sock_id = atoi(ctx->fs_root);
 | 
				
			||||||
        if (sock_id < 0) {
 | 
					        if (sock_id < 0) {
 | 
				
			||||||
            fprintf(stderr, "socket descriptor not initialized\n");
 | 
					            fprintf(stderr, "socket descriptor not initialized\n");
 | 
				
			||||||
 | 
					            g_free(proxy);
 | 
				
			||||||
            return -1;
 | 
					            return -1;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    g_free(ctx->fs_root);
 | 
					    g_free(ctx->fs_root);
 | 
				
			||||||
 | 
					    ctx->fs_root = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    proxy->in_iovec.iov_base  = g_malloc(PROXY_MAX_IO_SZ + PROXY_HDR_SZ);
 | 
					    proxy->in_iovec.iov_base  = g_malloc(PROXY_MAX_IO_SZ + PROXY_HDR_SZ);
 | 
				
			||||||
    proxy->in_iovec.iov_len   = PROXY_MAX_IO_SZ + PROXY_HDR_SZ;
 | 
					    proxy->in_iovec.iov_len   = PROXY_MAX_IO_SZ + PROXY_HDR_SZ;
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user