From patchwork Sat Nov 11 10:44:40 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 837018 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=sourceware.org (client-ip=209.132.180.131; helo=sourceware.org; envelope-from=libc-alpha-return-86977-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="ccapoJ0P"; dkim-atps=neutral Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3yYtnw4kJFz9s7C for ; Sat, 11 Nov 2017 21:44:52 +1100 (AEDT) DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:to:subject:mime-version:content-type :content-transfer-encoding:message-id:from; q=dns; s=default; b= BBXQWfEw0o7HrPJBoEgK/mLcO+NQLqmO3+hRKixR3kSNxavR4HkvJdkL5uzrL+cw AS8kfFgOjttghYx3CxUD9obOnuU7aKcuN8mED7FtHdcT+PVE7ZIjmW6ddJjhcNRV /ppJ0wfgFpcT8kmcST8L07sy2BKwAdMeffK4bFpRUn8= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id :list-unsubscribe:list-subscribe:list-archive:list-post :list-help:sender:date:to:subject:mime-version:content-type :content-transfer-encoding:message-id:from; s=default; bh=tv4Lpu vdFtp2B0yeYCRW2hHnm0Q=; b=ccapoJ0Pfw/V+09KB3VRpwdgm78yi2STfX7cHS 0OFenHFHfihzT5vh7qr9HauEELHSxc68ZG7EQR+xfHjgLJksO0vZtHngVlWWQKM4 l1bQ5HY6pWYvtMENyNwtsGusvUEKYsZmz2fG3emmysr3CpvkH1OyyIpcH23rMT5y PMNNU= Received: (qmail 8930 invoked by alias); 11 Nov 2017 10:44:44 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libc-alpha-owner@sourceware.org Delivered-To: mailing list libc-alpha@sourceware.org Received: (qmail 8404 invoked by uid 89); 11 Nov 2017 10:44:43 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-25.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD, SPF_HELO_PASS autolearn=ham version=3.3.2 spammy=Hx-languages-length:1221 X-HELO: mx1.redhat.com Date: Sat, 11 Nov 2017 11:44:40 +0100 To: libc-alpha@sourceware.org Subject: [PATCH COMMITTED] resolv: ns_name_pton should report trailing \ as error [BZ #22413] User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20171111104440.858F5439942E9@oldenburg.str.redhat.com> From: fweimer@redhat.com (Florian Weimer) 2017-11-11 Florian Weimer [BZ #22413] * resolv/ns_name.c (ns_name_pton): Treat trailing backslash as error. * resolv/tst-ns_name_pton.c (tests): Add trailing backslash tests. diff --git a/resolv/ns_name.c b/resolv/ns_name.c index 08a75e2fe0..73213fee2d 100644 --- a/resolv/ns_name.c +++ b/resolv/ns_name.c @@ -222,6 +222,11 @@ ns_name_pton(const char *src, u_char *dst, size_t dstsiz) } *bp++ = (u_char)c; } + if (escaped) { + /* Trailing backslash. */ + __set_errno (EMSGSIZE); + return -1; + } c = (bp - label - 1); if ((c & NS_CMPRSFLGS) != 0) { /*%< Label too big. */ __set_errno (EMSGSIZE); diff --git a/resolv/tst-ns_name_pton.c b/resolv/tst-ns_name_pton.c index 879d97c9d3..73bdb05e08 100644 --- a/resolv/tst-ns_name_pton.c +++ b/resolv/tst-ns_name_pton.c @@ -127,6 +127,13 @@ static const struct test_case tests[] = "\377\377", NULL, }, { STRING63OCT "." STRING63OCT "." STRING63OCT "." STRING60OCT "\377\377\377", NULL, }, + { "\\", NULL, }, + { "\\\\", "\\\\", false }, + { "\\\\.", "\\\\", true }, + { "\\\\\\", NULL, }, + { "a\\", NULL, }, + { "a.\\", NULL, }, + { "a.b\\", NULL, }, }; static int