Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libwpe for openSUSE:Factory checked in at 2022-08-30 14:48:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libwpe (Old) and /work/SRC/openSUSE:Factory/.libwpe.new.2083 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libwpe" Tue Aug 30 14:48:14 2022 rev:8 rq:999789 version:1.12.3 Changes: -------- --- /work/SRC/openSUSE:Factory/libwpe/libwpe.changes 2021-12-02 02:17:23.394253689 +0100 +++ /work/SRC/openSUSE:Factory/.libwpe.new.2083/libwpe.changes 2022-08-30 14:48:16.235934136 +0200 @@ -1,0 +2,11 @@ +Fri Aug 26 16:00:11 UTC 2022 - Bj??rn Lie <bjorn....@gmail.com> + +- Update to version 1.12.3: + + Fix the build when using Clang's libc++ or the Musl libc. +- Changes from version 1.12.2: + + Fix the build when using CMake to configure it. +- Changes from version 1.12.1: + + Fix pasteboard to use the generic interface by default. + + Fix memory allocation to always abort execution on failure. + +------------------------------------------------------------------- Old: ---- libwpe-1.12.0.tar.xz New: ---- libwpe-1.12.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libwpe.spec ++++++ --- /var/tmp/diff_new_pack.fFVkhf/_old 2022-08-30 14:48:16.999936255 +0200 +++ /var/tmp/diff_new_pack.fFVkhf/_new 2022-08-30 14:48:17.007936277 +0200 @@ -1,7 +1,7 @@ # # spec file for package libwpe # -# Copyright (c) 2021 SUSE LLC +# Copyright (c) 2022 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -21,7 +21,7 @@ %define sover 1_0-1 Name: libwpe -Version: 1.12.0 +Version: 1.12.3 Release: 0 Summary: General-purpose library for the WPE-flavored port of WebKit License: BSD-2-Clause ++++++ libwpe-1.12.0.tar.xz -> libwpe-1.12.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/.github/workflows/ci.yml new/libwpe-1.12.3/.github/workflows/ci.yml --- old/libwpe-1.12.0/.github/workflows/ci.yml 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/.github/workflows/ci.yml 2022-08-24 13:30:11.000000000 +0200 @@ -19,7 +19,7 @@ - name: Setup Python uses: actions/setup-python@v1 with: - python-version: 3.5 + python-version: 3.6 - name: Python Package Cache uses: actions/cache@v1 with: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/CMakeLists.txt new/libwpe-1.12.3/CMakeLists.txt --- old/libwpe-1.12.0/CMakeLists.txt 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/CMakeLists.txt 2022-08-24 13:30:11.000000000 +0200 @@ -15,7 +15,7 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to C+1:0:0 # - If the interface is the same as the previous version, change to C:R+1:A -CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(LIBWPE 7 0 6) +CALCULATE_LIBRARY_VERSIONS_FROM_LIBTOOL_TRIPLE(LIBWPE 7 3 6) project(libwpe VERSION "${PROJECT_VERSION}") @@ -66,6 +66,7 @@ add_library(wpe SHARED src/input.c + src/alloc.c src/key-unicode.c src/loader.c src/pasteboard.c diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/NEWS new/libwpe-1.12.3/NEWS --- old/libwpe-1.12.0/NEWS 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/NEWS 2022-08-24 13:30:11.000000000 +0200 @@ -1,3 +1,22 @@ +======================== +1.12.3 - August 24, 2022 +======================== + +- Fix the build when using Clang's libc++ or the Musl libc. + +====================== +1.12.2 - July 31, 2022 +====================== + +- Fix the build when using CMake to configure it. + +====================== +1.12.1 - July 31, 2022 +====================== + +- Fix pasteboard to use the generic interface by default. +- Fix memory allocation to always abort execution on failure. + =========================== 1.12.0 - September 30, 2021 =========================== diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/include/wpe/libwpe-version.h new/libwpe-1.12.3/include/wpe/libwpe-version.h --- old/libwpe-1.12.0/include/wpe/libwpe-version.h 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/include/wpe/libwpe-version.h 2022-08-24 13:30:11.000000000 +0200 @@ -1,8 +1,27 @@ /* - * libwpe-version.h - * Copyright (C) 2021 Adrian Perez de Castro <ape...@igalia.com> + * Copyright (C) 2021-2022 Igalia S.L. + * All rights reserved. * - * Distributed under terms of the MIT license. + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef LIBWPE_VERSION_H @@ -10,6 +29,6 @@ #define WPE_MAJOR_VERSION 1 #define WPE_MINOR_VERSION 12 -#define WPE_MICRO_VERSION 0 +#define WPE_MICRO_VERSION 3 #endif /* !LIBWPE_VERSION_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/meson.build new/libwpe-1.12.3/meson.build --- old/libwpe-1.12.0/meson.build 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/meson.build 2022-08-24 13:30:11.000000000 +0200 @@ -21,7 +21,7 @@ # - If binary compatibility has been broken (eg removed or changed interfaces) # change to [C+1, 0, 0] # - If the interface is the same as the previous version, use [C, R+1, A]. -soversion = [7, 0, 6] +soversion = [7, 3, 6] # Mangle [C, R, A] into an actual usable *soversion*. soversion_major = soversion[0] - soversion[2] # Current-Age @@ -84,6 +84,7 @@ libwpe = library('wpe-' + api_version, 'src/input.c', + 'src/alloc.c', 'src/key-unicode.c', 'src/loader.c', 'src/pasteboard.c', diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/alloc-private.h new/libwpe-1.12.3/src/alloc-private.h --- old/libwpe-1.12.0/src/alloc-private.h 1970-01-01 01:00:00.000000000 +0100 +++ new/libwpe-1.12.3/src/alloc-private.h 2022-08-24 13:30:11.000000000 +0200 @@ -0,0 +1,110 @@ +/* + * Copyright (C) 2022 Igalia S.L. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#ifndef wpe_alloc_private_h +#define wpe_alloc_private_h + +#include <stdlib.h> + +#if defined(__has_attribute) && __has_attribute(noreturn) +#define WPE_NORETURN __attribute__((noreturn)) +#else +#define WPE_NORETURN +#endif /* __has_attribute(noreturn) */ + +#if defined(__has_attribute) && __has_attribute(alloc_size) +#define WPE_ALLOCSIZE(...) __attribute__((alloc_size(__VA_ARGS__))) +#else +#define WPE_ALLOCSIZE(...) +#endif /* __has_attribute(alloc_size) */ + +#if defined(__has_attribute) && __has_attribute(malloc) +#define WPE_MALLOC __attribute__((malloc)) +#else +#define WPE_MALLOC +#endif /* __has_attribute(malloc) */ + +#if defined(__has_attribute) && __has_attribute(warn_unused_result) +#define WPE_USERESULT __attribute__((warn_unused_result)) +#else +#define WPE_USERESULT +#endif /* __has_attribute(warn_unused_result) */ + +#ifdef __cplusplus +extern "C" +#endif /* __cplusplus */ + WPE_NORETURN void + wpe_alloc_fail(const char* file, unsigned line, size_t amount); + +WPE_ALLOCSIZE(1, 2) +WPE_MALLOC WPE_USERESULT static inline void* +wpe_calloc_impl(size_t nmemb, size_t size, const char* file, unsigned line) +{ + void* p = calloc(nmemb, size); + if (p) + return p; + + wpe_alloc_fail(file, line, nmemb * size); +} + +WPE_ALLOCSIZE(2) +WPE_USERESULT static inline void* +wpe_realloc_impl(void* p, size_t size, const char* file, unsigned line) +{ + if ((p = realloc(p, size))) + return p; + + wpe_alloc_fail(file, line, size); +} + +WPE_ALLOCSIZE(1) +WPE_MALLOC WPE_USERESULT static inline void* +wpe_malloc_impl(size_t size, const char* file, unsigned line) +{ + void* p = malloc(size); + if (p) + return p; + + wpe_alloc_fail(file, line, size); +} + +#define wpe_calloc(nmemb, size) wpe_calloc_impl((nmemb), (size), __FILE__, __LINE__) +#define wpe_realloc(p, size) wpe_realloc_impl((p), (size), __FILE__, __LINE__) +#define wpe_malloc(size) wpe_malloc_impl((size), __FILE__, __LINE__) +#define wpe_free free + +/* Prevent usage of unwrapped functions from this point onwards. */ +#pragma GCC poison malloc +#pragma GCC poison realloc +#pragma GCC poison calloc +#pragma GCC poison free + +#undef WPE_ALLOCSIZE +#undef WPE_MALLOC +#undef WPE_NORETURN +#undef WPE_USERESULT + +#endif /* wpe_alloc_private_h */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/alloc.c new/libwpe-1.12.3/src/alloc.c --- old/libwpe-1.12.0/src/alloc.c 1970-01-01 01:00:00.000000000 +0100 +++ new/libwpe-1.12.3/src/alloc.c 2022-08-24 13:30:11.000000000 +0200 @@ -0,0 +1,37 @@ +/* + * Copyright (C) 2022 Igalia S.L. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "alloc-private.h" + +#include <stdio.h> + +void +wpe_alloc_fail(const char* file, unsigned line, size_t amount) +{ + fprintf(stderr, "%s:%u: failed to allocate %zu bytes\n", file, line, amount); + fflush(stderr); + abort(); +} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/input.c new/libwpe-1.12.3/src/input.c --- old/libwpe-1.12.0/src/input.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/input.c 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,10 +26,11 @@ #include "../include/wpe/input.h" +#include "alloc-private.h" #include <locale.h> #include <stdlib.h> -#include <xkbcommon/xkbcommon.h> #include <xkbcommon/xkbcommon-compose.h> +#include <xkbcommon/xkbcommon.h> struct wpe_input_xkb_context { struct xkb_context* context; @@ -42,7 +43,7 @@ { static struct wpe_input_xkb_context* s_xkb_context = NULL; if (!s_xkb_context) { - s_xkb_context = calloc(1, sizeof(struct wpe_input_xkb_context)); + s_xkb_context = wpe_calloc(1, sizeof(struct wpe_input_xkb_context)); s_xkb_context->context = xkb_context_new(XKB_CONTEXT_NO_FLAGS); } @@ -228,7 +229,8 @@ if (syms[sym] == key) { if (++array_size > array_allocated_size) { array_allocated_size += 4; - array = (struct wpe_input_xkb_keymap_entry*)realloc(array, array_allocated_size * sizeof(struct wpe_input_xkb_keymap_entry)); + array = + wpe_realloc(array, array_allocated_size * sizeof(struct wpe_input_xkb_keymap_entry)); } struct wpe_input_xkb_keymap_entry* entry = &array[array_size - 1]; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/loader.c new/libwpe-1.12.3/src/loader.c --- old/libwpe-1.12.0/src/loader.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/loader.c 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,9 +26,9 @@ #include "loader-private.h" +#include "alloc-private.h" #include <dlfcn.h> #include <stdio.h> -#include <stdlib.h> #include <string.h> static void* s_impl_library = 0; @@ -54,7 +54,7 @@ return; if (len > IMPL_LIBRARY_NAME_BUFFER_SIZE) - s_impl_library_name = (char *)malloc(len); + s_impl_library_name = wpe_malloc(len); else s_impl_library_name = s_impl_library_name_buffer; memcpy(s_impl_library_name, impl_library_name, len); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/pasteboard-generic.cpp new/libwpe-1.12.3/src/pasteboard-generic.cpp --- old/libwpe-1.12.0/src/pasteboard-generic.cpp 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/pasteboard-generic.cpp 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,11 +26,15 @@ #include "pasteboard-private.h" -#include <cstdlib> -#include <cstring> #include <map> #include <string> +// We need to include this header last, in order to avoid template expansions +// from the C++ standard library happening after it forbids usage of the libc +// memory functions. +#include "alloc-private.h" +#include <cstring> + namespace Generic { using Pasteboard = std::map<std::string, std::string>; } @@ -51,9 +55,10 @@ if (!length) return; - out_vector->strings = static_cast<struct wpe_pasteboard_string*>(calloc(1, sizeof(struct wpe_pasteboard_string) * length)); + out_vector->strings = + static_cast<struct wpe_pasteboard_string*>(wpe_calloc(length, sizeof(struct wpe_pasteboard_string))); out_vector->length = length; - memset(out_vector->strings, 0, out_vector->length); + memset(out_vector->strings, 0, sizeof(struct wpe_pasteboard_string) * length); uint64_t i = 0; for (auto& entry : pasteboard) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/pasteboard.c new/libwpe-1.12.3/src/pasteboard.c --- old/libwpe-1.12.0/src/pasteboard.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/pasteboard.c 2022-08-24 13:30:11.000000000 +0200 @@ -26,6 +26,7 @@ #include "pasteboard-private.h" +#include "alloc-private.h" #include "loader-private.h" #include <stdlib.h> #include <string.h> @@ -36,7 +37,7 @@ if (string->data) return; - string->data = calloc(in_length, sizeof(char)); + string->data = wpe_calloc(in_length, sizeof(char)); string->length = in_length; memcpy(string->data, in_string, in_length); } @@ -44,8 +45,7 @@ void wpe_pasteboard_string_free(struct wpe_pasteboard_string* string) { - if (string->data) - free((void*)string->data); + wpe_free(string->data); string->data = 0; string->length = 0; } @@ -56,7 +56,7 @@ if (vector->strings) { for (uint64_t i = 0; i < vector->length; ++i) wpe_pasteboard_string_free(&vector->strings[i]); - free(vector->strings); + wpe_free(vector->strings); } vector->strings = 0; vector->length = 0; @@ -67,10 +67,10 @@ { static struct wpe_pasteboard* s_pasteboard = 0; if (!s_pasteboard) { - s_pasteboard = calloc(1, sizeof(struct wpe_pasteboard)); + s_pasteboard = wpe_calloc(1, sizeof(struct wpe_pasteboard)); s_pasteboard->interface = wpe_load_object("_wpe_pasteboard_interface"); if (!s_pasteboard->interface) - s_pasteboard->interface = &noop_pasteboard_interface; + s_pasteboard->interface = &generic_pasteboard_interface; s_pasteboard->interface_data = s_pasteboard->interface->initialize(s_pasteboard); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/renderer-backend-egl.c new/libwpe-1.12.3/src/renderer-backend-egl.c --- old/libwpe-1.12.0/src/renderer-backend-egl.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/renderer-backend-egl.c 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,20 +26,18 @@ #include "../include/wpe/renderer-backend-egl.h" +#include "alloc-private.h" #include "loader-private.h" #include "renderer-backend-egl-private.h" -#include <stdlib.h> struct wpe_renderer_backend_egl* wpe_renderer_backend_egl_create(int host_fd) { - struct wpe_renderer_backend_egl* backend = calloc(1, sizeof(struct wpe_renderer_backend_egl)); - if (!backend) - return 0; + struct wpe_renderer_backend_egl* backend = wpe_calloc(1, sizeof(struct wpe_renderer_backend_egl)); backend->base.interface = wpe_load_object("_wpe_renderer_backend_egl_interface"); if (!backend->base.interface) { - free(backend); + wpe_free(backend); return 0; } @@ -54,7 +52,7 @@ backend->base.interface->destroy(backend->base.interface_data); backend->base.interface_data = 0; - free(backend); + wpe_free(backend); } EGLNativeDisplayType @@ -74,13 +72,11 @@ struct wpe_renderer_backend_egl_target* wpe_renderer_backend_egl_target_create(int host_fd) { - struct wpe_renderer_backend_egl_target* target = calloc(1, sizeof(struct wpe_renderer_backend_egl_target)); - if (!target) - return 0; + struct wpe_renderer_backend_egl_target* target = wpe_calloc(1, sizeof(struct wpe_renderer_backend_egl_target)); target->base.interface = wpe_load_object("_wpe_renderer_backend_egl_target_interface"); if (!target->base.interface) { - free(target); + wpe_free(target); return 0; } @@ -98,7 +94,7 @@ target->client = 0; target->client_data = 0; - free(target); + wpe_free(target); } void @@ -148,13 +144,12 @@ struct wpe_renderer_backend_egl_offscreen_target* wpe_renderer_backend_egl_offscreen_target_create() { - struct wpe_renderer_backend_egl_offscreen_target* target = calloc(1, sizeof(struct wpe_renderer_backend_egl_offscreen_target)); - if (!target) - return 0; + struct wpe_renderer_backend_egl_offscreen_target* target = + wpe_calloc(1, sizeof(struct wpe_renderer_backend_egl_offscreen_target)); target->base.interface = wpe_load_object("_wpe_renderer_backend_egl_offscreen_target_interface"); if (!target->base.interface) { - free(target); + wpe_free(target); return 0; } @@ -169,7 +164,7 @@ target->base.interface->destroy(target->base.interface_data); target->base.interface_data = 0; - free(target); + wpe_free(target); } void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/renderer-host.c new/libwpe-1.12.3/src/renderer-host.c --- old/libwpe-1.12.0/src/renderer-host.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/renderer-host.c 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,18 +26,15 @@ #include "renderer-host-private.h" +#include "alloc-private.h" #include "loader-private.h" -#include <stdlib.h> int wpe_renderer_host_create_client() { static struct wpe_renderer_host* s_renderer_host = 0; if (!s_renderer_host) { - s_renderer_host = calloc(1, sizeof(struct wpe_renderer_host)); - if (!s_renderer_host) - return -1; - + s_renderer_host = wpe_calloc(1, sizeof(struct wpe_renderer_host)); s_renderer_host->base.interface = wpe_load_object("_wpe_renderer_host_interface"); s_renderer_host->base.interface_data = s_renderer_host->base.interface->create(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libwpe-1.12.0/src/view-backend.c new/libwpe-1.12.3/src/view-backend.c --- old/libwpe-1.12.0/src/view-backend.c 2021-09-30 22:36:19.000000000 +0200 +++ new/libwpe-1.12.3/src/view-backend.c 2022-08-24 13:30:11.000000000 +0200 @@ -1,5 +1,5 @@ /* - * Copyright (C) 2015, 2016 Igalia S.L. + * Copyright (C) 2015, 2016, 2022 Igalia S.L. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -26,6 +26,7 @@ #include "view-backend-private.h" +#include "alloc-private.h" #include "loader-private.h" #include <assert.h> #include <stdlib.h> @@ -44,9 +45,7 @@ struct wpe_view_backend* wpe_view_backend_create_with_backend_interface(struct wpe_view_backend_interface* interface, void* interface_user_data) { - struct wpe_view_backend* backend = calloc(1, sizeof(struct wpe_view_backend)); - if (!backend) - return 0; + struct wpe_view_backend* backend = wpe_calloc(1, sizeof(struct wpe_view_backend)); backend->base.interface = interface; backend->base.interface_data = backend->base.interface->create(interface_user_data, backend); @@ -71,7 +70,7 @@ backend->activity_state = 0; - free(backend); + wpe_free(backend); } static void