From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 576 invoked from network); 1 Nov 2007 10:53:42 -0000 X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00 autolearn=ham version=3.2.3 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 1 Nov 2007 10:53:42 -0000 Received-SPF: none (ns1.primenet.com.au: domain at sunsite.dk does not designate permitted sender hosts) Received: (qmail 8549 invoked from network); 1 Nov 2007 10:53:36 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 1 Nov 2007 10:53:36 -0000 Received: (qmail 27265 invoked by alias); 1 Nov 2007 10:53:34 -0000 Mailing-List: contact zsh-workers-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 24048 Received: (qmail 27251 invoked from network); 1 Nov 2007 10:53:33 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 1 Nov 2007 10:53:33 -0000 Received: (qmail 8224 invoked from network); 1 Nov 2007 10:53:33 -0000 Received: from smtp008.mail.ukl.yahoo.com (217.12.11.62) by a.mx.sunsite.dk with SMTP; 1 Nov 2007 10:53:27 -0000 Received: (qmail 22624 invoked from network); 1 Nov 2007 10:40:40 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=yahoo.co.uk; h=Received:X-YMail-OSG:Received:From:To:Subject:Date:Message-ID; b=pnhNVeRH7LNpkvst6Uk6RPfJo0fP2AD0FajMLA9ccEX90yf1msV53cb6bYd5NUpOU5kklsdD2xLHlka5IJFN+MuMu0fnV9X7bxYO7P6OA/wN3nlkBXDHfoHFxyRJO4m+bvrDj5A/pZZYaYI5tCZBZgPKOMR+RpZBkUsEq1pExJc= ; Received: from unknown (HELO thecus) (okiddle@89.48.31.178 with plain) by smtp008.mail.ukl.yahoo.com with SMTP; 1 Nov 2007 10:40:40 -0000 X-YMail-OSG: JW_Dw5EVM1m2TvO8L6JkrLBcF2Qu.Bk1pPrqmuw7FLfOusrfPEheq42finwd4EVQA.Mjzzgh.w-- Received: from opk (helo=thecus) by thecus with local-esmtp (Exim 4.63) (envelope-from ) id 1InXTl-0005fc-Lp for zsh-workers@sunsite.dk; Thu, 01 Nov 2007 10:40:49 +0000 From: Oliver Kiddle To: Zsh workers Subject: PATCH: fix home directory expansion with NIS Date: Thu, 01 Nov 2007 10:40:49 +0000 Message-ID: <21799.1193913649@thecus> This has been irritating me for a while: some ~username expansions were coming out as garbled strings from the middle of the password file. The problem, which is specific to NIS on Solaris, occurs because our yp_all callback was assuming that the key and val parameters are null terminated. The fix below makes use of the vallen parameter to find the end of the string. Oliver --- hashtable.c.orig Thu Nov 1 10:59:22 2007 +++ hashtable.c Thu Nov 1 11:00:34 2007 @@ -1258,7 +1258,8 @@ if (vallen > keylen && *(p = val + keylen) == ':') { *p++ = '\0'; - if ((de = strrchr(p, ':'))) { + for (de = val + vallen - 1; *de != ':' && de > val; de--); + if (de > val) { *de = '\0'; if ((d = strrchr(p, ':'))) { if (*++d && val[0])