serprog.c: Avoid calling memcpy with NULL pointer arguments

In function sp_stream_buffer_op, the variable parms might be NULL when
passed to memcpy. Although, since parmlen is also 0 at that time I
don't think it would make much difference. Still, add a NULL check
before calling memcpy to be safe.

Change-Id: I850123237e328f9548ba7f77a01888be2cbc9e7b
Signed-off-by: Aarya Chaumal <aarya.chaumal@gmail.com>
Original-Reviewed-on: https://review.coreboot.org/c/flashrom/+/62726
Original-Reviewed-by: Edward O'Callaghan <quasisec@chromium.org>
Original-Reviewed-by: Anastasia Klimchuk <aklm@chromium.org>
Original-Reviewed-by: Thomas Heijligen <src@posteo.de>
Original-Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/c/flashrom-stable/+/71456
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
diff --git a/serprog.c b/serprog.c
index 65bb5b0..24a51ac 100644
--- a/serprog.c
+++ b/serprog.c
@@ -300,7 +300,8 @@
 		return 1;
 	}
 	sp[0] = cmd;
-	memcpy(&(sp[1]), parms, parmlen);
+	if (parms)
+		memcpy(&(sp[1]), parms, parmlen);
 
 	if (sp_streamed_transmit_bytes >= (1 + parmlen + sp_device_serbuf_size)) {
 		if (sp_flush_stream() != 0) {