From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: "Basil L. Contovounesios" Newsgroups: gmane.emacs.bugs Subject: bug#33145: 27.0.50; rcirc race receives duplicate messages Date: Thu, 25 Oct 2018 04:07:33 +0100 Message-ID: <87tvlag1vu.fsf@tcd.ie> References: <87zhv2g244.fsf@tcd.ie> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-Trace: blaine.gmane.org 1540436794 21171 195.159.176.226 (25 Oct 2018 03:06:34 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Thu, 25 Oct 2018 03:06:34 +0000 (UTC) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) To: 33145@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Thu Oct 25 05:06:30 2018 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFVyf-0005On-Qu for geb-bug-gnu-emacs@m.gmane.org; Thu, 25 Oct 2018 05:06:30 +0200 Original-Received: from localhost ([::1]:52132 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gFW0m-0002fc-8U for geb-bug-gnu-emacs@m.gmane.org; Wed, 24 Oct 2018 23:08:40 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:33063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gFW0D-0002TI-9Y for bug-gnu-emacs@gnu.org; Wed, 24 Oct 2018 23:08:06 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gFW0A-00082v-Fa for bug-gnu-emacs@gnu.org; Wed, 24 Oct 2018 23:08:05 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:36846) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1gFW0A-00082X-7l for bug-gnu-emacs@gnu.org; Wed, 24 Oct 2018 23:08:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1gFW0A-0002Mo-2I for bug-gnu-emacs@gnu.org; Wed, 24 Oct 2018 23:08:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: "Basil L. Contovounesios" Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 25 Oct 2018 03:08:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 33145 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: Original-Received: via spool by 33145-submit@debbugs.gnu.org id=B33145.15404368639068 (code B ref 33145); Thu, 25 Oct 2018 03:08:02 +0000 Original-Received: (at 33145) by debbugs.gnu.org; 25 Oct 2018 03:07:43 +0000 Original-Received: from localhost ([127.0.0.1]:41104 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFVzr-0002MC-1d for submit@debbugs.gnu.org; Wed, 24 Oct 2018 23:07:43 -0400 Original-Received: from mail-ed1-f46.google.com ([209.85.208.46]:43868) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gFVzp-0002Ly-GD for 33145@debbugs.gnu.org; Wed, 24 Oct 2018 23:07:42 -0400 Original-Received: by mail-ed1-f46.google.com with SMTP id y20-v6so6992266eds.10 for <33145@debbugs.gnu.org>; Wed, 24 Oct 2018 20:07:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tcd-ie.20150623.gappssmtp.com; s=20150623; h=from:to:subject:references:date:in-reply-to:message-id:user-agent :mime-version; bh=nwVs9JvjLksRUueNQTs071GO6noS3Aol/bQCyb1UWDo=; b=PD+BYqHqgbVIjAV2XE+L07qJetmcaxl2XBDT8W46e2/fLVZ4uO7A15yphbES5N4fKj v5bNzbzJRanKG+KDs8VsMIDsQLs2hAY0chfO2GXolSme2+ABznSzoONi30GD4mqUE9Gh P3zYHR5EWIkvwLyjd0xBeSUva11r169CNBybo339jSTin9o7g4To1jQHw9w/CPzoTgnX XrJ4YumSmMi9tEpO0PlER8ys/EFP2Fyt8RECnuIw4GkY/WyemG2eq7gVF0PhYlQ/uyLU jpDgq6wKchy4siL195mOtlrXoBpSNH4XKmIORS53CcxMGU3cqhrfdECopN1XqoG7kF4X 4rkg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:references:date:in-reply-to :message-id:user-agent:mime-version; bh=nwVs9JvjLksRUueNQTs071GO6noS3Aol/bQCyb1UWDo=; b=grLFgl8MsrqFcDnyi9PWGnAoD6RSG4EgZ+/hhZUkwkAf50Pt6TiWXnaxq5ANon9bKm cCZEosjfUQ3Vlv8f90TTwqP6baE4pIyexD3NhDSzd2wQ5YKvrZAoOXPKOHxgGqcdtk8k dBrpyNSHW9OH3XNR7dM+0EvEIkatL5EKOCEDI8vgr5fZSSVYmud2LHtUdf4mDnmFYX9R X42oZxisknaXrKCBcXSYxnLlh/dj1j9g4fNSCjq2LBWM+9pLEq9B8jg2hhFoaBrywq3A e8x0S0XZZWKiKuBKZqqCXliDBtF1pVnHyeXspq8ADbymoBboD2xmtCVdQobqtiIuDM0d j3gA== X-Gm-Message-State: AGRZ1gI1Dl4H/Wo2knJ33/UggDSzplVkWNUqxsManHf7IpK8TzJrgNIU tORdk8Bf/CgOgTLCT+aW1K+9DOpxsMs= X-Google-Smtp-Source: AJdET5fw/ZPajEphbvlkRpj5L+ERQd7edyJR5g4WQE9DQJ9ztWRJssn/fNAPX3liNYUogi1anmJdAQ== X-Received: by 2002:aa7:c149:: with SMTP id r9-v6mr107561edp.213.1540436855506; Wed, 24 Oct 2018 20:07:35 -0700 (PDT) Original-Received: from localhost (51-171-243-2-dynamic.agg2.clk.blp-srl.eircom.net. [51.171.243.2]) by smtp.gmail.com with ESMTPSA id w31-v6sm2615404edb.8.2018.10.24.20.07.34 for <33145@debbugs.gnu.org> (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Wed, 24 Oct 2018 20:07:34 -0700 (PDT) In-Reply-To: <87zhv2g244.fsf@tcd.ie> (Basil L. Contovounesios's message of "Thu, 25 Oct 2018 04:02:35 +0100") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.org gmane.emacs.bugs:151583 Archived-At: --=-=-= Content-Type: text/x-diff Content-Disposition: attachment; filename=0001-Avoid-race-in-rcirc-process-filter-bug-33145.patch >From b5af2a63844fcdceab4520dae9c298c240a07df2 Mon Sep 17 00:00:00 2001 From: "Basil L. Contovounesios" Date: Thu, 25 Oct 2018 03:35:57 +0100 Subject: [PATCH] Avoid race in rcirc process filter (bug#33145) * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output before processing its constituent lines. Otherwise, if rcirc-filter runs again before the last rcirc-process-server-response is finished, the contents of rcirc-process-output could be duplicated. --- lisp/net/rcirc.el | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lisp/net/rcirc.el b/lisp/net/rcirc.el index fe9c71a21c..893ff5829b 100644 --- a/lisp/net/rcirc.el +++ b/lisp/net/rcirc.el @@ -751,12 +751,12 @@ rcirc-filter (with-rcirc-process-buffer process (setq rcirc-last-server-message-time (current-time)) (setq rcirc-process-output (concat rcirc-process-output output)) - (when (= (aref rcirc-process-output - (1- (length rcirc-process-output))) ?\n) - (mapc (lambda (line) - (rcirc-process-server-response process line)) - (split-string rcirc-process-output "[\n\r]" t)) - (setq rcirc-process-output nil)))) + (when (= ?\n (aref rcirc-process-output + (1- (length rcirc-process-output)))) + (let ((lines (split-string rcirc-process-output "[\n\r]" t))) + (setq rcirc-process-output nil) + (dolist (line lines) + (rcirc-process-server-response process line)))))) (defun rcirc-reschedule-timeout (process) (with-rcirc-process-buffer process -- 2.19.1 --=-=-= Content-Type: text/plain "Basil L. Contovounesios" writes: > Patch addressing this to follow. I attach said patch. Thanks, -- Basil --=-=-=--