Skip to main content

xmlMallocAtomicLoc

Function xmlMallocAtomicLoc 

Source
#[unsafe(no_mangle)]
pub unsafe extern "C" fn xmlMallocAtomicLoc( size: usize, file: *const c_char, line: c_int, ) -> *mut c_void
Expand description

Allocate memory, recording the allocation site (upstream xmlmemory.h).

void *xmlMallocAtomicLoc(size_t size, const char *file, int line);

Upstream xmlMallocAtomicLoc -> xmlMemMalloc: a plain (non-zeroed) tracked allocation. The pre-Z.3 candidate zeroed it via xmlMallocZero — a real divergence, fixed in 11.1-Z.3 (R-000178 narrative).

§SAFETY

  • file must point to valid NUL-terminated strings (or NULL where the C contract allows) for the lifetime of the call.

The caller must not race this call with concurrent mutation of the same objects from other threads (per-object state is not internally synchronized). Violating any of the above is undefined behavior.

Exercised by the C-API differential courts (courts/suites/data-abi/*-family-probe.c) and the CLI differential courts; those pass byte-for-byte against the upstream oracle.