sdshdr definition in deps/hiredis/sds.h must match the definition in src/sds.h. Specifically, sizeof (C struct with a char* member) calculates the char* as a pointer. sizeof(C-struct with char[] member) calculates char[] as empty character array. BTW, the parent struct from member pointer dereference is an abomination.