From 7a46ca05b26dcab5c8fad1531c32b19ee04ca442 Mon Sep 17 00:00:00 2001
From: Justin Carpentier <justin.carpentier@inria.fr>
Date: Mon, 30 Jan 2023 17:52:38 +0100
Subject: [PATCH] core: fix aligned_malloc

---
 include/eigenpy/alignment.hpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/eigenpy/alignment.hpp b/include/eigenpy/alignment.hpp
index bb888b8d..4bca14d3 100644
--- a/include/eigenpy/alignment.hpp
+++ b/include/eigenpy/alignment.hpp
@@ -9,6 +9,7 @@
 #include <boost/python/converter/arg_from_python.hpp>
 #include <boost/python/converter/rvalue_from_python_data.hpp>
 #include <boost/type_traits/aligned_storage.hpp>
+#include <eigenpy/utils/is-aligned.hpp>
 
 namespace eigenpy {
 
@@ -33,6 +34,7 @@ inline void *aligned_malloc(
     std::size_t size, std::size_t alignment = EIGENPY_DEFAULT_ALIGN_BYTES) {
   void *original = std::malloc(size + alignment);
   if (original == 0) return 0;
+  if (is_aligned(original, alignment)) return original;
   void *aligned =
       reinterpret_cast<void *>((reinterpret_cast<std::size_t>(original) &
                                 ~(std::size_t(alignment - 1))) +
-- 
GitLab