Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Различные фиксы #229

Merged
merged 11 commits into from
Feb 7, 2025
Merged

Различные фиксы #229

merged 11 commits into from
Feb 7, 2025

Conversation

metrapoliten
Copy link

@metrapoliten metrapoliten commented Feb 5, 2025

Кроме изменений, представленных в PR, нашёл ещё несколько странных мест, но не совсем представляю, как их исправить, поэтому просто упомяну их здесь.

  • Переменная l никак не изменяется, поэтому if (l>0) всегда true, так же как и первое условие в while.
// src/getopt.c:84-88
	do {
		d = optstring[i], l = 1;
		if (l>0) i+=l; else i++;
	} while (l && d != c);
  • Надо добавить проверку на malloc и memcpy и как-то выйти из функции.
// src/youtubeUnblock.c:617-619
        struct dps_t *dpdt = malloc(sizeof(struct dps_t));
	dpdt->pkt = malloc(data_len);
	memcpy(dpdt->pkt, data, data_len);

@Waujito
Copy link
Owner

Waujito commented Feb 6, 2025

Спасибо! Проверки это важнейшая вещь, про которую легко забыть)
Я еще посмотрю изменения и смёржу.
По поводу getopt не знаю, стоит ли его трогать, так как это по факту код из musl libc, но тут тоже надо смотреть.
Про src/youtubeUnblock.c:617-619 тоже еще напишу

@Waujito
Copy link
Owner

Waujito commented Feb 6, 2025

Так, всё хорошо, со всем согласен. Чекеры для delay_packet_send добавил коммитом.

Про getopt я вспомнил. Там в оригинале есть функционал для символов больше байта (к примеру, русский язык). Тянуть эту поддержку в модуль ядра избыточно, да и она уж точно нигде не пригодится для youtubeUnblock (Даже сайты с русским доменом на низком уровне все кодируются в ASCII). Так что ничего страшного, если этот код упростить и вообще убрать l

@Waujito Waujito merged commit 705da0f into Waujito:main Feb 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants