From 033cd90806cb1e2eab7e799703757abc2f07052e Mon Sep 17 00:00:00 2001 From: Daiki Ueno Date: Tue, 16 Oct 2018 18:18:05 +0200 Subject: proxy: Fix null dereference when reusing slots --- p11-kit/proxy.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'p11-kit') diff --git a/p11-kit/proxy.c b/p11-kit/proxy.c index 11e6165..8eaf205 100644 --- a/p11-kit/proxy.c +++ b/p11-kit/proxy.c @@ -307,7 +307,10 @@ proxy_create (Proxy **res, CK_FUNCTION_LIST **loaded, break; } py->mappings[py->n_mappings].funcs = funcs; - py->mappings[py->n_mappings].wrap_slot = j == n_mappings ? py->n_mappings + MAPPING_OFFSET : mappings[j].wrap_slot; + py->mappings[py->n_mappings].wrap_slot = + (n_mappings == 0 || j == n_mappings) ? + py->n_mappings + MAPPING_OFFSET : + mappings[j].wrap_slot; py->mappings[py->n_mappings].real_slot = slots[i]; ++py->n_mappings; } -- cgit v1.1