[darwinbuild-changes] [91] trunk/darwintrace/darwintrace.c
source_changes at macosforge.org
source_changes at macosforge.org
Wed Oct 4 01:44:35 PDT 2006
Revision: 91
http://trac.macosforge.org/projects/darwinbuild/changeset/91
Author: kevin
Date: 2006-10-04 01:44:35 -0700 (Wed, 04 Oct 2006)
Log Message:
-----------
- honor bytes_read when parsing #!
Modified Paths:
--------------
trunk/darwintrace/darwintrace.c
Modified: trunk/darwintrace/darwintrace.c
===================================================================
--- trunk/darwintrace/darwintrace.c 2005-07-25 20:50:00 UTC (rev 90)
+++ trunk/darwintrace/darwintrace.c 2006-10-04 08:44:35 UTC (rev 91)
@@ -141,11 +141,12 @@
if (fd != -1) {
char buffer[MAXPATHLEN];
ssize_t bytes_read = read(fd, buffer, MAXPATHLEN);
- if (buffer[0] == '#' && buffer[1] == '!') {
+ if (bytes_read > 0 &&
+ buffer[0] == '#' && buffer[1] == '!') {
const char* interp = &buffer[2];
int i;
/* skip past leading whitespace */
- for (i = 2; i < (MAXPATHLEN-1); ++i) {
+ for (i = 2; i < bytes_read; ++i) {
if (buffer[i] != ' ' && buffer[i] != '\t') {
interp = &buffer[i];
break;
@@ -153,7 +154,7 @@
}
/* found interpreter (or ran out of data)
skip until next whitespace, then terminate the string */
- for (; i < (MAXPATHLEN-1); ++i) {
+ for (; i < bytes_read; ++i) {
if (buffer[i] == ' ' || buffer[i] == '\t' || buffer[i] == '\n') {
buffer[i] = 0;
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/darwinbuild-changes/attachments/20061004/5521c2d4/attachment.html
More information about the darwinbuild-changes
mailing list