X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=checkout-index.c;h=9876af6fd60a81d871e6be30060cc93d0e0259c7;hb=ce0bd64299ae148ef61a63edcac635de41254cb5;hp=0b9cabc61cafa06501064c0b2cccbc3d434904c2;hpb=dc46da2286cf0d42e1e5ebbd272c201dbc3a626a;p=git.git diff --git a/checkout-index.c b/checkout-index.c index 0b9cabc6..9876af6f 100644 --- a/checkout-index.c +++ b/checkout-index.c @@ -39,6 +39,7 @@ #include "cache.h" #include "strbuf.h" #include "quote.h" +#include "cache-tree.h" #define CHECKOUT_ALL 4 static const char *prefix; @@ -277,7 +278,7 @@ int main(int argc, char **argv) die("git-checkout-index: don't mix '--stdin' and explicit filenames"); p = prefix_path(prefix, prefix_length, arg); checkout_file(p); - if (p != arg) + if (p < arg || p > arg + strlen(arg)) free((char*)p); } @@ -299,7 +300,7 @@ int main(int argc, char **argv) path_name = buf.buf; p = prefix_path(prefix, prefix_length, path_name); checkout_file(p); - if (p != path_name) + if (p < path_name || p > path_name + strlen(path_name)) free((char *)p); if (path_name != buf.buf) free(path_name);