Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752311AbdFOA2l (ORCPT ); Wed, 14 Jun 2017 20:28:41 -0400 Received: from out4-smtp.messagingengine.com ([66.111.4.28]:43441 "EHLO out4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752044AbdFOA2j (ORCPT ); Wed, 14 Jun 2017 20:28:39 -0400 X-ME-Sender: X-Sasl-enc: +WSJpJp69fVhB7XHIdwEMJ/y0fYWEtO2pK2R7mSn6WbR 1497486513 From: Michael Sartain To: Steven Rostedt Cc: Michael Sartain , linux-kernel@vger.kernel.org Subject: [PATCH v3 4/6] Fix read / write data offsets in read / write loops Date: Wed, 14 Jun 2017 18:27:59 -0600 Message-Id: <207b0ce25f6b26cad5497bdd5e3c42ce4d9c1b50.1497486273.git.mikesart@fastmail.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: References: In-Reply-To: References: Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1125 Lines: 38 The tot variable in __do_write and do_read is incremented with the amount read / written, but subsequent times through the loop the calls continue to use the original data pointer. Signed-off-by: Michael Sartain --- trace-cmd-local.h | 2 +- trace-input.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/trace-cmd-local.h b/trace-cmd-local.h index 8595a8a..b8ab35b 100644 --- a/trace-cmd-local.h +++ b/trace-cmd-local.h @@ -31,7 +31,7 @@ static ssize_t __do_write(int fd, const void *data, size_t size) ssize_t w; do { - w = TEMP_FAILURE_RETRY(write(fd, data, size - tot)); + w = TEMP_FAILURE_RETRY(write(fd, data + tot, size - tot)); tot += w; if (!w) diff --git a/trace-input.c b/trace-input.c index 251d32b..8395917 100644 --- a/trace-input.c +++ b/trace-input.c @@ -202,7 +202,7 @@ static ssize_t do_read(struct tracecmd_input *handle, void *data, size_t size) ssize_t r; do { - r = TEMP_FAILURE_RETRY(read(handle->fd, data, size - tot)); + r = TEMP_FAILURE_RETRY(read(handle->fd, data + tot, size - tot)); tot += r; if (!r) -- 2.11.0