On Fri, May 22, 2009 at 10:33:22AM -0500, Brandon Casey wrote: > > if (S_ISLNK(st.st_mode)) { > > - int ret; > > - char buf[PATH_MAX + 1]; /* ought to be SYMLINK_MAX */ > > - ret = readlink(name, buf, sizeof(buf)); > > - if (ret < 0) > > + struct strbuf sb = STRBUF_INIT; > > + if (strbuf_readlink(&sb, name, st.st_size) < 0) > > die("readlink(%s)", name); > > - if (ret == sizeof(buf)) > > - die("symlink too long: %s", name); > > - prep_temp_blob(name, temp, buf, ret, > > + prep_temp_blob(name, temp, sb.buf, sb.len, > > (one->sha1_valid ? > > one->sha1 : null_sha1), > > (one->sha1_valid ? > > Don't you need to strbuf_release() ? Urgh, yes, of course. Thanks for noticing. -Peff -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html