strict aliasing rules

diff --git a/skeletons/tests/check-OCTET_STRING.c b/skeletons/tests/check-OCTET_STRING.c
index b3e298f..120e9c8 100644
--- a/skeletons/tests/check-OCTET_STRING.c
+++ b/skeletons/tests/check-OCTET_STRING.c
@@ -19,6 +19,7 @@
 	int verlen = verify ? strlen(verify) : 0;
 	asn_TYPE_descriptor_t *td = &asn_DEF_OCTET_STRING;
 	OCTET_STRING_t *st = 0;
+	OCTET_STRING_t **stp = &st;
 	asn_dec_rval_t rc;
 	xer_type_decoder_f *decoder = 0;
 
@@ -35,7 +36,7 @@
 		break;
 	}
 
-	rc = decoder(0, td, (void **)&st, tagname, xmlbuf, xmllen);
+	rc = decoder(0, td, (void **)stp, tagname, xmlbuf, xmllen);
 	printf("[%s] => [%s]:%d vs [%s]:%d, code %d\n",
 		xmlbuf,
 		st ? (const char *)st->buf : "", st ? st->size : 0,