]> git.saurik.com Git - apt.git/blobdiff - methods/http_main.cc
You have to do the bounds check before the access.
[apt.git] / methods / http_main.cc
index 3b346a514a234397322903a2d3d0a679901ecdf6..1e56044b72233dc7789d896847f336d123bfe365 100644 (file)
@@ -1,17 +1,17 @@
 #include <config.h>
-
+#include <apt-pkg/fileutl.h>
+#include <apt-pkg/error.h>
 #include <signal.h>
 
 #include "http.h"
 
-int main()
+int main(int, const char *argv[])
 {
-   setlocale(LC_ALL, "");
-
    // ignore SIGPIPE, this can happen on write() if the socket
    // closes the connection (this is dealt with via ServerDie())
    signal(SIGPIPE, SIG_IGN);
-
-   HttpMethod Mth;
-   return Mth.Loop();
+   std::string Binary = flNotDir(argv[0]);
+   if (Binary.find('+') == std::string::npos && Binary != "http")
+      Binary.append("+http");
+   return HttpMethod(std::move(Binary)).Loop();
 }