[68680] trunk/base/src/pextlib1.0/Pextlib.c
jmr at macports.org
jmr at macports.org
Wed Jun 9 23:50:45 PDT 2010
Revision: 68680
http://trac.macports.org/changeset/68680
Author: jmr at macports.org
Date: 2010-06-09 23:50:40 -0700 (Wed, 09 Jun 2010)
Log Message:
-----------
off-by-one in UmaskCmd
Modified Paths:
--------------
trunk/base/src/pextlib1.0/Pextlib.c
Modified: trunk/base/src/pextlib1.0/Pextlib.c
===================================================================
--- trunk/base/src/pextlib1.0/Pextlib.c 2010-06-10 06:34:02 UTC (rev 68679)
+++ trunk/base/src/pextlib1.0/Pextlib.c 2010-06-10 06:50:40 UTC (rev 68680)
@@ -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/20100609/537c0fa6/attachment.html>
More information about the macports-changes
mailing list