2a67b3
From 0fce0e589353d772ceda4d493b147138406b22fd Mon Sep 17 00:00:00 2001
2a67b3
From: =?UTF-8?q?Moritz=20Wanzenb=C3=B6ck?= <moritz.wanzenboeck@catalysts.cc>
2a67b3
Date: Wed, 11 Jul 2018 11:57:46 +0200
2a67b3
Subject: [PATCH] Add missing return statement in numpy import
2a67b3
2a67b3
This adds a missing return statement in the python3 specific
2a67b3
import logic of boost.python.numpy.
2a67b3
2a67b3
For python3 wrap_import_array() needs to return a pointer value.
2a67b3
The import_array() macro only returns NULL in case of error. The
2a67b3
missing return statement is UB, so the compiler can assume it does
2a67b3
not happen. This means the compiler can assume the error branch
2a67b3
is always taken, so import_array must always fail.
2a67b3
---
2a67b3
 src/numpy/numpy.cpp | 1 +
2a67b3
 1 file changed, 1 insertion(+)
2a67b3
2a67b3
diff --git a/src/numpy/numpy.cpp b/src/numpy/numpy.cpp
2a67b3
index 8e259bc75..3ae2295e3 100644
2a67b3
--- a/libs/python/src/numpy/numpy.cpp
2a67b3
+++ b/libs/python/src/numpy/numpy.cpp
2a67b3
@@ -19,6 +19,7 @@ static void wrap_import_array()
2a67b3
 static void * wrap_import_array()
2a67b3
 {
2a67b3
   import_array();
2a67b3
+  return NULL;
2a67b3
 }
2a67b3
 #endif
2a67b3