summarylogtreecommitdiffstats
path: root/use_after_free.patch
diff options
context:
space:
mode:
authorn17ikh2018-04-03 21:58:55 -0700
committern17ikh2018-04-03 21:58:55 -0700
commit423d44891b18d3f5081b00262a1ef9fbbee5e549 (patch)
treef26fd4bb44f17b9552f3eed34e0bb08cde769899 /use_after_free.patch
parent6f7a8c866e7d460d5ecf686dce5c04651ed2f5c7 (diff)
downloadaur-423d44891b18d3f5081b00262a1ef9fbbee5e549.tar.gz
Add use-after-free patch.
Patch originates from: https://github.com/ram-nat/mhddfs/commit/26d0f119eaa7e3ffaaf330bf29672e13471cb091 See http://nramkumar.org/tech/blog/2015/09/23/mhddfs-crash-with-ubuntu-14-04/ for more information.
Diffstat (limited to 'use_after_free.patch')
-rw-r--r--use_after_free.patch39
1 files changed, 39 insertions, 0 deletions
diff --git a/use_after_free.patch b/use_after_free.patch
new file mode 100644
index 000000000000..4f0fa6bad221
--- /dev/null
+++ b/use_after_free.patch
@@ -0,0 +1,39 @@
+From 26d0f119eaa7e3ffaaf330bf29672e13471cb091 Mon Sep 17 00:00:00 2001
+From: Ramkumar Natarajan <software@nramkumar.org>
+Date: Wed, 23 Sep 2015 19:14:12 -0700
+Subject: [PATCH] Fix crash due to use after free bug
+
+---
+ Makefile | 2 +-
+ src/main.c | 4 +-
+
+diff --git a/Makefile b/Makefile
+index 89fc1e9..e9355c3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -23,7 +23,7 @@ DEPS = $(OBJ:obj/%.o=obj/%.d)
+ TARGET = mhddfs
+
+ CFLAGS = -Wall $(shell pkg-config fuse --cflags) \
+- -DFUSE_USE_VERSION=26 -MMD
++ -DFUSE_USE_VERSION=26 -MMD -O3
+ ifdef WITHOUT_XATTR
+ CFLAGS += -DWITHOUT_XATTR
+ endif
+diff --git a/src/main.c b/src/main.c
+index 38d2b88..761a940 100644
+--- a/src/main.c
++++ b/src/main.c
+@@ -243,11 +243,11 @@ static int mhdd_readdir(
+
+ // free memory
+ HASH_ITER(hh, items_ht, item, tmp) {
++ HASH_DEL(items_ht, item);
+ free(item->name);
+ free(item->st);
+ free(item);
+ }
+- HASH_CLEAR(hh, items_ht);
+
+ for (i = 0; dirs[i]; i++)
+ free(dirs[i]);