NetBSD Problem Report #53803

From www@NetBSD.org  Thu Dec 20 06:57:47 2018
Return-Path: <www@NetBSD.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id 735A27A181
	for <gnats-bugs@gnats.NetBSD.org>; Thu, 20 Dec 2018 06:57:47 +0000 (UTC)
Message-Id: <20181220065745.DDD7E7A1E4@mollari.NetBSD.org>
Date: Thu, 20 Dec 2018 06:57:45 +0000 (UTC)
From: asou@soum.co.jp
Reply-To: asou@soum.co.jp
To: gnats-bugs@NetBSD.org
Subject: Miss port to src/lib/libedit from OpenBSD
X-Send-Pr-Version: www-1.0

>Number:         53803
>Category:       lib
>Synopsis:       Miss port to src/lib/libedit from OpenBSD
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    lib-bug-people
>State:          closed
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 20 07:00:00 +0000 2018
>Closed-Date:    Fri Jan 04 03:06:23 +0000 2019
>Last-Modified:  Fri Jan 04 03:06:23 +0000 2019
>Originator:     ASOU Masato
>Release:        8.0-current
>Organization:
SOUM Corporation
>Environment:
$ uname -a
NetBSD asou-nbsd80-1 8.0 NetBSD 8.0 (GENERIC) #1: Thu Dec 20 02:44:31 UTC 2018  asou@asou-nbsd80-1:/usr/src/sys/arch/amd64/compile/GENERIC amd64

>Description:
http://cvsweb.netbsd.org/bsdweb.cgi/src/lib/libedit/refresh.c.diff?r1=1.54&r2=1.55&only_with_tag=MAIN

I saw above URL and I found miss port as below:

 		} else {
 			el->el_cursor.v++;
 			el->el_refresh.r_oldcv++;
+			lastline = el->el_display[++el->el_refresh.r_oldcv];

The valiable el->el_refresh.r_oldcv was incremented two times.

>How-To-Repeat:

>Fix:
Delete unnecessary increment as below.

 		} else {
 			el->el_cursor.v++;
- 			el->el_refresh.r_oldcv++;
+			lastline = el->el_display[++el->el_refresh.r_oldcv];

See also diff of OpenBSD:
http://cvsweb.openbsd.org/cgi-bin/cvsweb/src/lib/libedit/refresh.c.diff?r1=1.21&r2=1.22
The below diff was extracted from above URL.

@@ -1083,7 +1083,7 @@
 			el->el_display[i - 1] = lastline;
 		} else {
 			el->el_cursor.v++;
-			lastline = el->el_display[el->el_refresh.r_oldcv++];
+			lastline = el->el_display[++el->el_refresh.r_oldcv];
 		}
 		re__copy_and_pad(lastline, L"", el->el_terminal.t_size.h);

>Release-Note:

>Audit-Trail:
From: "Valeriy E. Ushakov" <uwe@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/53803 CVS commit: src/lib/libedit
Date: Fri, 4 Jan 2019 03:03:44 +0000

 Module Name:	src
 Committed By:	uwe
 Date:		Fri Jan  4 03:03:44 UTC 2019

 Modified Files:
 	src/lib/libedit: refresh.c

 Log Message:
 Fix mis-applied change in previous.  Don't increment r_oldcv twice.
 PR lib/53803


 To generate a diff of this commit:
 cvs rdiff -u -r1.55 -r1.56 src/lib/libedit/refresh.c

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

State-Changed-From-To: open->closed
State-Changed-By: uwe@NetBSD.org
State-Changed-When: Fri, 04 Jan 2019 03:06:23 +0000
State-Changed-Why:
Fixed.  Thanks for the report!


>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.