@@ -237,17 +237,21 @@ static void stringsEXflowMisc(FILE *stream, record_map_t *r) {
237237
238238 char snet [INET6_ADDRSTRLEN ] = {0 };
239239 char dnet [INET6_ADDRSTRLEN ] = {0 };
240- if (r -> offsetMap [EXipv6FlowID ]) {
241- // IPv6
242- EXipv6Flow_t * ipv6Flow = (EXipv6Flow_t * )r -> offsetMap [EXipv6FlowID ];
243- inet6_ntop_mask (ipv6Flow -> srcAddr , flowMisc -> srcMask , snet , sizeof (snet ));
244- inet6_ntop_mask (ipv6Flow -> dstAddr , flowMisc -> dstMask , dnet , sizeof (dnet ));
245- }
246240 if (r -> offsetMap [EXipv4FlowID ]) {
247241 // IPv4
248- EXipv4Flow_t * ipv4Flow = (EXipv4Flow_t * )r -> offsetMap [EXipv4FlowID ];
242+ elementHeader = r -> offsetMap [EXipv4FlowID ];
243+ EXipv4Flow_t * ipv4Flow = (EXipv4Flow_t * )((void * )elementHeader + sizeof (elementHeader_t ));
249244 inet_ntop_mask (ipv4Flow -> srcAddr , flowMisc -> srcMask , snet , sizeof (snet ));
250245 inet_ntop_mask (ipv4Flow -> dstAddr , flowMisc -> dstMask , dnet , sizeof (dnet ));
246+ } else if (r -> offsetMap [EXipv6FlowID ]) {
247+ // IPv6
248+ elementHeader = r -> offsetMap [EXipv4FlowID ];
249+ EXipv6Flow_t * ipv6Flow = (EXipv6Flow_t * )((void * )elementHeader + sizeof (elementHeader_t ));
250+ inet6_ntop_mask (ipv6Flow -> srcAddr , flowMisc -> srcMask , snet , sizeof (snet ));
251+ inet6_ntop_mask (ipv6Flow -> dstAddr , flowMisc -> dstMask , dnet , sizeof (dnet ));
252+ } else {
253+ snet [0 ] = '\0' ;
254+ dnet [0 ] = '\0' ;
251255 }
252256
253257 uint32_t fwdStatus = 0 ;
0 commit comments