Fix possible segfault in seal_initialize 71/160671/1
authorLukasz Pawelczyk <l.pawelczyk@samsung.com>
Fri, 17 Nov 2017 10:32:26 +0000 (11:32 +0100)
committerLukasz Pawelczyk <l.pawelczyk@samsung.com>
Fri, 17 Nov 2017 10:32:26 +0000 (11:32 +0100)
The iv is not mandatory. It depends on bcm mode and is already checked
in this function. Don't blindly write to *iv because in some cases it
might be NULL.

Change-Id: Ieddf81b77482d2aec49d1cde3291c08d702b7c43

src/seal.c

index a7c3b50..24188e4 100644 (file)
@@ -188,8 +188,11 @@ API int yaca_seal_initialize(yaca_context_h *ctx,
 
        *sym_key = lenc_sym_key;
        lenc_sym_key = YACA_KEY_NULL;
-       *iv = liv;
-       liv = YACA_KEY_NULL;
+       if (iv != NULL) {
+               *iv = liv;
+               liv = YACA_KEY_NULL;
+       }
+
        ret = YACA_ERROR_NONE;
 
 exit: