LINUX.ORG.RU

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

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

В си использование значения неинициализированной переменной тоже UB, однако gcc услужливо подставляет нули где можно.

gcc такого не делает:

~> cat ub.c
#include <stdio.h>

void test1() {
	int a = 10;
	printf("%d\n", a);
}

void test2() {
	int a;
	printf("%d\n", a);
}

int main() {
	test1();
	test2();
}
~> ./ub
10
10

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

В си использование значения неинициализированной переменной тоже UB, однако gcc услужливо подставляет нули где можно.

gcc такого не делает:

~> cat ub.c
#include <stdio.h>

int test1() {
	int a = 10;
	printf("%d\n", a);
}

int test2() {
	int a;
	printf("%d\n", a);
}

int main() {
	test1();
	test2();
}

~> ./ub
10
10