From 989c511267f61b5b172c92f39a05f1bf35392ab5 Mon Sep 17 00:00:00 2001 From: Louis Brandy Date: Wed, 6 Dec 2017 17:10:31 -0800 Subject: [PATCH] fix ubsan-detected UMR in TemporaryFile Summary: Move constructors are just like any other constructors. `this` is not in a valid state. You aren't supposed to destroy `this` before move-constructing it. This was detected by ubsan stress runs. UBSAN report: ``` [ RUN ] TemporaryFile.moveCtor folly/experimental/TestUtil.cpp:91:20: runtime error: load of value 3, which is not a valid value for type 'bool' [ failed: 1 ] ```` Reviewed By: yfeldblum Differential Revision: D6501500 fbshipit-source-id: 83bd0525ac2c1f5951f70f5596034bb6cb0ca985 --- folly/experimental/TestUtil.h | 1 - 1 file changed, 1 deletion(-) diff --git a/folly/experimental/TestUtil.h b/folly/experimental/TestUtil.h index 1b8e339d..dc75069a 100644 --- a/folly/experimental/TestUtil.h +++ b/folly/experimental/TestUtil.h @@ -52,7 +52,6 @@ class TemporaryFile { // Movable, but not copyable TemporaryFile(TemporaryFile&& other) noexcept { - reset(); assign(other); } -- 2.34.1