From: Craig A. Berry Date: Mon, 10 Dec 2007 05:45:22 +0000 (+0000) Subject: Fix uninitialized pointer bug in VMS version of readdir() when X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=c43a0d1c08263915bcac804cc40b350d03a1b68f;p=p5sagit%2Fp5-mst-13.2.git Fix uninitialized pointer bug in VMS version of readdir() when case preservation feature is enabled. p4raw-id: //depot/perl@32603 --- diff --git a/vms/vms.c b/vms/vms.c index d19ffab..a579d37 100644 --- a/vms/vms.c +++ b/vms/vms.c @@ -9602,16 +9602,13 @@ Perl_readdir(pTHX_ DIR *dd) } dd->count++; /* Force the buffer to end with a NUL, and downcase name to match C convention. */ + buff[res.dsc$w_length] = '\0'; + p = buff + res.dsc$w_length; + while (--p >= buff) if (!isspace(*p)) break; + *p = '\0'; if (!decc_efs_case_preserve) { - buff[VMS_MAXRSS - 1] = '\0'; for (p = buff; *p; p++) *p = _tolower(*p); } - else { - /* we don't want to force to lowercase, just null terminate */ - buff[res.dsc$w_length] = '\0'; - } - while (--p >= buff) if (!isspace(*p)) break; /* Do we really need this? */ - *p = '\0'; /* Skip any directory component and just copy the name. */ sts = vms_split_path