File: zero_realloc_abort.c

package info (click to toggle)
redis 5%3A8.0.2-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 22,304 kB
  • sloc: ansic: 216,903; tcl: 51,562; sh: 4,625; perl: 4,214; cpp: 3,568; python: 2,954; makefile: 2,055; ruby: 639; javascript: 30; csh: 7
file content (26 lines) | stat: -rw-r--r-- 488 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include "test/jemalloc_test.h"

#include <signal.h>

static bool abort_called = false;

void set_abort_called() {
	abort_called = true;
};

TEST_BEGIN(test_realloc_abort) {
	abort_called = false;
	safety_check_set_abort(&set_abort_called);
	void *ptr = mallocx(42, 0);
	expect_ptr_not_null(ptr, "Unexpected mallocx error");
	ptr = realloc(ptr, 0);
	expect_true(abort_called, "Realloc with zero size didn't abort");
}
TEST_END

int
main(void) {
	return test(
	    test_realloc_abort);
}