X-Git-Url: https://git.saurik.com/apt.git/blobdiff_plain/23c5897cbdb5a957788201a5178e963586dcdbc9..11bcbdb93e13e0b2c1625fc0f926378bce43fead:/apt-pkg/contrib/cmndline.cc diff --git a/apt-pkg/contrib/cmndline.cc b/apt-pkg/contrib/cmndline.cc index 0b16bf51a..997f26bc7 100644 --- a/apt-pkg/contrib/cmndline.cc +++ b/apt-pkg/contrib/cmndline.cc @@ -11,11 +11,14 @@ ##################################################################### */ /*}}}*/ // Include files /*{{{*/ +#include + +#include #include #include #include -#include +#include /*}}}*/ using namespace std; @@ -360,11 +363,11 @@ bool CommandLine::DispatchArg(Dispatch *Map,bool NoMatch) than nothing after all. */ void CommandLine::SaveInConfig(unsigned int const &argc, char const * const * const argv) { - char cmdline[300]; + char cmdline[100 + argc * 50]; unsigned int length = 0; bool lastWasOption = false; bool closeQuote = false; - for (unsigned int i = 0; i < argc; ++i, ++length) + for (unsigned int i = 0; i < argc && length < sizeof(cmdline); ++i, ++length) { for (unsigned int j = 0; argv[i][j] != '\0' && length < sizeof(cmdline)-1; ++j, ++length) {