I noticed a lot of places in git's code use code like: char *res; ... res = xmalloc(len + 1); memcpy(res, src, len); res[len] = '\0'; return res; I've added a "xmemdup" function that duplicates a portion of memory, also adding an extra NUL after the end of the buffer. There was a xstrndup already, doing almost the same, except that it worked like strndup, meaning that it duplicates the memory areay up to len or the first embeded NUL. The extra scan costs, and is often not necessary (as we want to extract a token from a buffer we just validated e.g.). There were 41 of those places. I'm not a huge fan of "xmemdup" as I would not have supposed that a function called like that would add the extra NUL, so I'm 100% okay with someone coming up with any better name. -- ·O· Pierre Habouzit ··O madcoder@debian.org OOO http://www.madism.org