shithub: libmujs

Download patch

ref: e00c9ba79ca5f6508e3270d529d144fd566ce158
parent: 6d1404397f3c3433334418f56048bead007729ac
author: Tor Andersson <tor.andersson@artifex.com>
date: Sat Apr 17 17:42:49 EDT 2021

Don't call realloc with size=0 to free data.

Newer versions of the C spec and POSIX have changed the behavior of
realloc called with size 0 to be implementation defined.

--- a/jsstate.c
+++ b/jsstate.c
@@ -10,15 +10,10 @@
 
 static void *js_defaultalloc(void *actx, void *ptr, int size)
 {
-#ifndef __has_feature
-#define __has_feature(x) 0
-#endif
-#if __has_feature(address_sanitizer) || defined(__SANITIZE_ADDRESS__)
 	if (size == 0) {
 		free(ptr);
 		return NULL;
 	}
-#endif
 	return realloc(ptr, (size_t)size);
 }