diff --git a/lib/c/experimental/labcomm_sig_parser.c b/lib/c/experimental/labcomm_sig_parser.c
index e1347e8cf8c3b8e0af8ea64a595d1ef87424a711..66e828fb0dfd4cb3c326bada73b45b592efa3f20 100644
--- a/lib/c/experimental/labcomm_sig_parser.c
+++ b/lib/c/experimental/labcomm_sig_parser.c
@@ -508,7 +508,7 @@ int skip_struct(buffer *d, unsigned char *sig, unsigned int len, unsigned int *p
 		unsigned int namelen = unpack_varint(sig, *pos, &nbytes);
 #ifdef DEBUG
 		VERBOSE_PRINTF("namelen==%d",namelen);
-		char name[namelen+1];
+		char name[namelen+1]; //HERE BE DRAGONS. alloca?
 		strncpy(name, sig+*pos+nbytes, namelen);
 		name[namelen]=0;
 		VERBOSE_PRINTF(", name = %s",name);