From patchwork Mon Apr 9 08:31:55 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Weimer X-Patchwork-Id: 896177 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-91479-incoming=patchwork.ozlabs.org@sourceware.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.b="wjOEzW4S"; 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 40KNnx71CTz9s0q for ; Mon, 9 Apr 2018 18:32:05 +1000 (AEST) 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= lQ8zvABsT8nunkEGARDPo7/o1ZGD1K6OKjr+RD2fB+dnUbs7cNRYB+Fwgolvn3+c 3dqRk8NU9eoVT2V2p1U88Q4BNswLu6bgBjKcqaaRK3djT9e6FFkk+M/fJ3x3kcPy ulisJrXLp0sKxArFoHbckLF/7FP7kVHNqWh4LciBJCg= 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=c/ZWpW yfLT3NFY+krQy8i8yk/ec=; b=wjOEzW4Sj8McXr3wn/3AvyXUOMOLrIFSmNW54h RnFwyOk2r4vFT28UghJSEbVaTyaxg7ugm58jACBe+OynMmfkklVx33cJ/GrEuNwc 2//68lNSoxyC4esm5H96hltxLWXK9MtJ4jftGHGz2D7X6Lg13pUZfcB55FGTgs/U Wb8KQ= Received: (qmail 14800 invoked by alias); 9 Apr 2018 08:31:59 -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 14790 invoked by uid 89); 9 Apr 2018 08:31:58 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-26.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3 autolearn=ham version=3.3.2 spammy= X-HELO: mx1.redhat.com Date: Mon, 09 Apr 2018 10:31:55 +0200 To: libc-alpha@sourceware.org Subject: [PATCH COMMITTED] resolv: Fully initialize struct mmsghdr in send_dg [BZ #23037] User-Agent: Heirloom mailx 12.5 7/5/10 MIME-Version: 1.0 Message-Id: <20180409083155.65E634127DE83@oldenburg.str.redhat.com> From: fweimer@redhat.com (Florian Weimer) 2018-04-09 Florian Weimer [BZ #23037] * resolv/res_send.c (send_dg): Use designated initializers instead of assignment to zero-initialize other fields of struct mmsghdr. diff --git a/resolv/res_send.c b/resolv/res_send.c index 7debf143f7..9e9541789b 100644 --- a/resolv/res_send.c +++ b/resolv/res_send.c @@ -1157,25 +1157,27 @@ send_dg(res_state statp, if (have_sendmmsg >= 0 && nwritten == 0 && buf2 != NULL && !single_request) { - struct iovec iov[2]; - struct mmsghdr reqs[2]; - reqs[0].msg_hdr.msg_name = NULL; - reqs[0].msg_hdr.msg_namelen = 0; - reqs[0].msg_hdr.msg_iov = &iov[0]; - reqs[0].msg_hdr.msg_iovlen = 1; - iov[0].iov_base = (void *) buf; - iov[0].iov_len = buflen; - reqs[0].msg_hdr.msg_control = NULL; - reqs[0].msg_hdr.msg_controllen = 0; - - reqs[1].msg_hdr.msg_name = NULL; - reqs[1].msg_hdr.msg_namelen = 0; - reqs[1].msg_hdr.msg_iov = &iov[1]; - reqs[1].msg_hdr.msg_iovlen = 1; - iov[1].iov_base = (void *) buf2; - iov[1].iov_len = buflen2; - reqs[1].msg_hdr.msg_control = NULL; - reqs[1].msg_hdr.msg_controllen = 0; + struct iovec iov = + { .iov_base = (void *) buf, .iov_len = buflen }; + struct iovec iov2 = + { .iov_base = (void *) buf2, .iov_len = buflen2 }; + struct mmsghdr reqs[2] = + { + { + .msg_hdr = + { + .msg_iov = &iov, + .msg_iovlen = 1, + }, + }, + { + .msg_hdr = + { + .msg_iov = &iov2, + .msg_iovlen = 1, + } + }, + }; int ndg = __sendmmsg (pfd[0].fd, reqs, 2, MSG_NOSIGNAL); if (__glibc_likely (ndg == 2))