Fix segmentation fault during network tranfer 72/195872/2
authorDongwoo Lee <dwoo08.lee@samsung.com>
Wed, 19 Dec 2018 05:34:38 +0000 (14:34 +0900)
committerDongwoo Lee <dwoo08.lee@samsung.com>
Wed, 19 Dec 2018 05:49:49 +0000 (14:49 +0900)
Since 'chunk' which is unit of transfer is not initialized, aio_read()
is failed with invalid argument error. Moreover, in this case,
chunk.nh is even NULL, so chunk->nh->sock_fd cause segmentation fault.
Thus, this patch fixes to initialize chunk properly, and make chunk.nh
have network handler pointer.

Change-Id: I322a01ca99829eb928f26488a341cdaee1c4d9e2
Signed-off-by: Dongwoo Lee <dwoo08.lee@samsung.com>
libthor/thor_net.c

index a3e8a8f200f244456ed5cacb195c781303ecfcdf..ba044bec99ecf04e4f21c30f13c6697b7ade811c 100644 (file)
@@ -339,6 +339,8 @@ static int thor_net_send_raw_data(thor_device_handle *th,
        transfer.ret = 0;
 
        /* Init chunk */
+       memset(&chunk, 0, sizeof(struct t_thor_net_chunk));
+       chunk.nh = nh;
        chunk.user_data = &transfer;
        chunk.useful_size = 0;
        chunk.trans_unit_size = trans_unit_size;