diff --git a/text-utils/hexdump-display.c b/text-utils/hexdump-display.c index 695b4724b..bc92bd0ca 100644 --- a/text-utils/hexdump-display.c +++ b/text-utils/hexdump-display.c @@ -145,13 +145,15 @@ print(struct hexdump_pr *pr, unsigned char *bp) { } case F_INT: { + char cval; /* int8_t */ short sval; /* int16_t */ int ival; /* int32_t */ long long Lval; /* int64_t, int64_t */ switch(pr->bcnt) { case 1: - printf(pr->fmt, (unsigned long long) *bp); + memmove(&cval, bp, sizeof(cval)); + printf(pr->fmt, (unsigned long long) cval); break; case 2: memmove(&sval, bp, sizeof(sval));