소스 검색

sysvars_marshall: handle NULL pointers correctly

H. Peter Anvin 1 년 전
부모
커밋
645eaec44d
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      esp32/max80/sysvars_marshall.c

+ 1 - 1
esp32/max80/sysvars_marshall.c

@@ -36,7 +36,7 @@ size_t sysvar_marshall(enum sysvars_enum first, size_t count,
     while (count--) {
 	sysvar_t vv = *vp++ = *v++;
 	sysvar_type_t type = *t++;
-	if (type->datasize) {
+	if (type->datasize && vv.v_ptr) {
 	    size_t dsize = type->datasize(vv);
 	    size_t adj_bytes = (bytes + align_mask) & ~align_mask;
 	    if (adj_bytes + dsize > bufsize)