From f0d3aca7d06d898bfc545ae4af61babb34629a05 Mon Sep 17 00:00:00 2001 From: David Bremner Date: Fri, 6 Apr 2012 08:59:36 +2100 Subject: [PATCH] Re: [PATCH 2/8] hex-escape: be more strict about the format while decoding --- 65/2fa81280a0c3ff77077390145b2690c9a60049 | 74 +++++++++++++++++++++++ 1 file changed, 74 insertions(+) create mode 100644 65/2fa81280a0c3ff77077390145b2690c9a60049 diff --git a/65/2fa81280a0c3ff77077390145b2690c9a60049 b/65/2fa81280a0c3ff77077390145b2690c9a60049 new file mode 100644 index 000000000..fc0a2f5bb --- /dev/null +++ b/65/2fa81280a0c3ff77077390145b2690c9a60049 @@ -0,0 +1,74 @@ +Return-Path: +X-Original-To: notmuch@notmuchmail.org +Delivered-To: notmuch@notmuchmail.org +Received: from localhost (localhost [127.0.0.1]) + by olra.theworths.org (Postfix) with ESMTP id C64BF431FB6 + for ; Thu, 5 Apr 2012 04:59:44 -0700 (PDT) +X-Virus-Scanned: Debian amavisd-new at olra.theworths.org +X-Spam-Flag: NO +X-Spam-Score: 0 +X-Spam-Level: +X-Spam-Status: No, score=0 tagged_above=-999 required=5 tests=[none] + autolearn=disabled +Received: from olra.theworths.org ([127.0.0.1]) + by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024) + with ESMTP id Fv4pOl1JqDHM for ; + Thu, 5 Apr 2012 04:59:44 -0700 (PDT) +Received: from tesseract.cs.unb.ca (tesseract.cs.unb.ca [131.202.240.238]) + (using TLSv1 with cipher AES256-SHA (256/256 bits)) + (No client certificate requested) + by olra.theworths.org (Postfix) with ESMTPS id 36F7F431FAE + for ; Thu, 5 Apr 2012 04:59:44 -0700 (PDT) +Received: from fctnnbsc30w-156034089108.dhcp-dynamic.fibreop.nb.bellaliant.net + ([156.34.89.108] helo=zancas.localnet) + by tesseract.cs.unb.ca with esmtpsa (TLS1.0:RSA_AES_256_CBC_SHA1:32) + (Exim 4.72) (envelope-from ) + id 1SFlLq-0000kH-PJ; Thu, 05 Apr 2012 08:59:43 -0300 +Received: from bremner by zancas.localnet with local (Exim 4.77) + (envelope-from ) + id 1SFlLk-00010x-M0; Thu, 05 Apr 2012 08:59:36 -0300 +From: David Bremner +To: Jani Nikula , notmuch@notmuchmail.org +Subject: Re: [PATCH 2/8] hex-escape: be more strict about the format while + decoding +In-Reply-To: <87hawyxusp.fsf@nikula.org> +References: + <81e543344ffe8e2761afd57a2268e8b362f4aef4.1333231401.git.jani@nikula.org> + <87fwcitnuk.fsf@zancas.localnet> + <87hawyxusp.fsf@nikula.org>User-Agent: Notmuch/0.12+70~g46e73fe + (http://notmuchmail.org) Emacs/23.3.1 (x86_64-pc-linux-gnu) +Date: Thu, 05 Apr 2012 08:59:36 -0300 +Message-ID: <87aa2qtmmv.fsf@zancas.localnet> +MIME-Version: 1.0 +Content-Type: text/plain; charset=us-ascii +X-Spam_bar: - +X-BeenThere: notmuch@notmuchmail.org +X-Mailman-Version: 2.1.13 +Precedence: list +List-Id: "Use and development of the notmuch mail system." + +List-Unsubscribe: , + +List-Archive: +List-Post: +List-Help: +List-Subscribe: , + +X-List-Received-Date: Thu, 05 Apr 2012 11:59:44 -0000 + +Jani Nikula writes: + +> On Thu, 05 Apr 2012 08:33:23 -0300, David Bremner wrote: +>> +>> > - if (len < 3) +>> > + if (!isxdigit ((unsigned char) p[1]) || +>> > + !isxdigit ((unsigned char) p[2])) +>> +>> What happens if there are not two characters after the escape? Is this +>> relying on calling isxdigit on the null terminator? +> +> It is, and technically there's nothing wrong with that. Would you prefer +> explicit checks for '\0' in the if condition, for clarity? Or a comment +> about it? + +I think a comment would do. Or the checks if you prefer. -- 2.26.2