]> granicus.if.org Git - openjpeg/commitdiff
Fix opj_write_bytes_BE (#518)
authorSandro Mani <manisandro@gmail.com>
Thu, 25 Jun 2015 20:42:56 +0000 (22:42 +0200)
committerSandro Mani <manisandro@gmail.com>
Thu, 25 Jun 2015 21:11:22 +0000 (23:11 +0200)
src/lib/openjp2/cio.c

index c455bf7711043ab5c27000cb99d9b3fcd7032272..c6f778c98d8717515c4380d26a0473cb4d45bf9f 100644 (file)
@@ -46,7 +46,7 @@
 
 void opj_write_bytes_BE (OPJ_BYTE * p_buffer, OPJ_UINT32 p_value, OPJ_UINT32 p_nb_bytes)
 {
-       const OPJ_BYTE * l_data_ptr = ((const OPJ_BYTE *) &p_value) + p_nb_bytes;
+       const OPJ_BYTE * l_data_ptr = ((const OPJ_BYTE *) &p_value)+sizeof(OPJ_UINT32)-p_nb_bytes;
 
        assert(p_nb_bytes > 0 && p_nb_bytes <=  sizeof(OPJ_UINT32));
 
@@ -72,7 +72,7 @@ void opj_read_bytes_BE(const OPJ_BYTE * p_buffer, OPJ_UINT32 * p_value, OPJ_UINT
        assert(p_nb_bytes > 0 && p_nb_bytes <= sizeof(OPJ_UINT32));
 
        *p_value = 0;
-       memcpy(l_data_ptr+4-p_nb_bytes,p_buffer,p_nb_bytes);
+       memcpy(l_data_ptr+sizeof(OPJ_UINT32)-p_nb_bytes,p_buffer,p_nb_bytes);
 }
 
 void opj_read_bytes_LE(const OPJ_BYTE * p_buffer, OPJ_UINT32 * p_value, OPJ_UINT32 p_nb_bytes)