From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/4105 Path: news.gmane.org!not-for-mail From: Michael Forney Newsgroups: gmane.linux.lib.musl.general Subject: [PATCH] getcwd: Set errno to EINVAL when size == 0 Date: Sun, 6 Oct 2013 23:08:24 -0700 Message-ID: <1381126104-24579-1-git-send-email-mforney@mforney.org> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org X-Trace: ger.gmane.org 1381126137 27857 80.91.229.3 (7 Oct 2013 06:08:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 7 Oct 2013 06:08:57 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-4109-gllmg-musl=m.gmane.org@lists.openwall.com Mon Oct 07 08:09:01 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1VT405-0002Vq-7O for gllmg-musl@plane.gmane.org; Mon, 07 Oct 2013 08:09:01 +0200 Original-Received: (qmail 6053 invoked by uid 550); 7 Oct 2013 06:08:59 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 6036 invoked from network); 7 Oct 2013 06:08:59 -0000 X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:subject:date:message-id; bh=V6IDYt0sDnTAzWpe+HZfad1nwtion6Rvqf3Uh25/Qh0=; b=b8RCJa1tlTXIm0hZ/j+00TuHmaMFDjSAHFgqfPz5TffQtRisBS5gBr4MmeZOGBIvAf YNxr76HQJVlvtEDiNU28nWcu4519EyDnpBldH8eVc9cF7mB1Q7hblldhvhm6n1j9ExL3 //wRPEmaLUYLeTBWSVQMwNSP8LoCgRANCO5XF78dU/8eWgRWI0Da0DjJ7gP5UqqjpxXZ gzewP+1G9qPOvxzdBnIA0DYcIy3jSVoKGJBq6pVzwOllOjdpTJH0+bkdLfKCmqmdhCHC MmKsI/cqPzl0955c0ggYC2k3fHIypcm41FnSOUHxCtQ4EnNjHADtqeeCEBVVVZpWw+Ga xZZg== X-Gm-Message-State: ALoCoQnaY+KoDGjnNd2ez5/4zEOIg4ByNDgb4dIk5nVRiSpdLfDmUx1z4RKD9mZZpLSsjJp+08hC X-Received: by 10.68.201.162 with SMTP id kb2mr970834pbc.160.1381126127251; Sun, 06 Oct 2013 23:08:47 -0700 (PDT) X-Mailer: git-send-email 1.8.4 Xref: news.gmane.org gmane.linux.lib.musl.general:4105 Archived-At: According to POSIX, The getcwd() function shall fail if: [EINVAL] The size argument is 0. [ERANGE] The size argument is greater than 0, but is smaller than the length of the string +1. --- src/unistd/getcwd.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/unistd/getcwd.c b/src/unistd/getcwd.c index 2e540cd..0238fa7 100644 --- a/src/unistd/getcwd.c +++ b/src/unistd/getcwd.c @@ -8,6 +8,10 @@ char *getcwd(char *buf, size_t size) { char tmp[PATH_MAX]; if (!buf) buf = tmp, size = PATH_MAX; + else if (size == 0) { + errno = EINVAL; + return 0; + } if (syscall(SYS_getcwd, buf, size) < 0) return 0; return buf == tmp ? strdup(buf) : buf; } -- 1.8.4