LINUX.ORG.RU

История изменений

Исправление PPP328, (текущая версия) :

	for (int i = 1; i < argc; ++i) {
		if (equal(argv[i], "-noupdate")) {
			needupdate = false;
		} else if (equal(argv[i], "-autostart")) {
			autostart = true;
		} else if (equal(argv[i], "-debug")) {
			debug = _debug = true;
                ... 13 проверок

Кто-нибудь, расскажите им про getopt. ну или хотя бы про массивы.

		} else if (equal(argv[i], "-key") && ++i < argc) {
			key = argv[i];
		} else if (equal(argv[i], "-workpath") && ++i < argc) {
			workDir = workdir = argv[i];

Я прям ощущаю четкий запах CVE

Исходная версия PPP328, :

	for (int i = 1; i < argc; ++i) {
		if (equal(argv[i], "-noupdate")) {
			needupdate = false;
		} else if (equal(argv[i], "-autostart")) {
			autostart = true;
		} else if (equal(argv[i], "-debug")) {
			debug = _debug = true;
                ... 13 проверок

Кто-нибудь, расскажите им про getopt. ну или хотя бы про массивы.