[68687] branches/release_1_9/base/src/pextlib1.0/Pextlib.c
jmr at macports.org
jmr at macports.org
Thu Jun 10 04:48:36 PDT 2010
Revision: 68687
http://trac.macports.org/changeset/68687
Author: jmr at macports.org
Date: 2010-06-10 04:48:33 -0700 (Thu, 10 Jun 2010)
Log Message:
-----------
merge r68680 from trunk:
off-by-one in UmaskCmd
Revision Links:
--------------
http://trac.macports.org/changeset/68680
Modified Paths:
--------------
branches/release_1_9/base/src/pextlib1.0/Pextlib.c
Modified: branches/release_1_9/base/src/pextlib1.0/Pextlib.c
===================================================================
--- branches/release_1_9/base/src/pextlib1.0/Pextlib.c 2010-06-10 11:46:59 UTC (rev 68686)
+++ branches/release_1_9/base/src/pextlib1.0/Pextlib.c 2010-06-10 11:48:33 UTC (rev 68687)
@@ -275,7 +275,7 @@
{
Tcl_Obj *tcl_result;
char *tcl_mask, *p;
- const size_t stringlen = 4; /* 3 digits & \0 */
+ const size_t stringlen = 5; /* 4 digits & \0 */
int i;
mode_t *set;
mode_t newmode;
@@ -297,23 +297,18 @@
oldmode = umask(newmode);
- tcl_mask = malloc(stringlen); /* 3 digits & \0 */
+ tcl_mask = calloc(1, stringlen); /* 4 digits & \0 */
if (!tcl_mask) {
return TCL_ERROR;
}
/* Totally gross and cool */
- p = tcl_mask + stringlen;
- *p = '\0';
+ p = tcl_mask + stringlen - 1;
for (i = stringlen - 1; i > 0; i--) {
p--;
*p = (oldmode & 7) + '0';
oldmode >>= 3;
}
- if (*p != '0') {
- p--;
- *p = '0';
- }
tcl_result = Tcl_NewStringObj(p, -1);
free(tcl_mask);
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20100610/c1c7d08f/attachment.html>
More information about the macports-changes
mailing list