On (19/11/13 14:01), Michal Židek wrote: >On 11/18/2013 04:02 PM, Lukas Slebodnik wrote: >>Few warnings are not fixed in the file src/responder/nss/nsssrv_cmd.c >>and patches {0005, 0006} do not change this file. >> >> CC src/responder/nss/nsssrv_cmd.o >>src/responder/nss/nsssrv_cmd.c:1017:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[0] = 1; /* num results */ >> ^~~~~~~~~~~~~~~~ >>src/responder/nss/nsssrv_cmd.c:1018:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[1] = 0; /* reserved */ >> ^~~~~~~~~~~~~~~~ >>src/responder/nss/nsssrv_cmd.c:1019:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[2] = (uint32_t) SSS_ID_TYPE_GID; >> ^~~~~~~~~~~~~~~~ >>src/responder/nss/nsssrv_cmd.c:4400:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[0] = 1; /* num results */ >> ^~~~~~~~~~~~~~~~ >>src/responder/nss/nsssrv_cmd.c:4401:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[1] = 0; /* reserved */ >> ^~~~~~~~~~~~~~~~ >>src/responder/nss/nsssrv_cmd.c:4402:6: warning: cast from 'uint8_t *' (aka >>'unsigned char *') to >> 'uint32_t *' (aka 'unsigned int *') increases required alignment from >> 1 to 4 [-Wcast-align] >> ((uint32_t *)body)[2] = (uint32_t) SSS_ID_TYPE_GID; >> ^~~~~~~~~~~~~~~~ >>6 warnings generated. >> >>LS >>_______________________________________________ >>sssd-devel mailing list >>sssd-devel@lists.fedorahosted.org >>https://lists.fedorahosted.org/mailman/listinfo/sssd-devel >> > >Thanks. For the review. New patch is attached. > >Michal
Macros SAFEALIGN_SETMEM_UINT32, SAFEALIGN_COPY_UINT32 are not used with the same purpose. Once, you used 1st macro to store value into buffer and another time you used 2nd macro for the same purpose. >- ((uint32_t *)body)[0] = num; /* num results */ >- ((uint32_t *)body)[1] = 0; /* reserved */ >+ SAFEALIGN_COPY_UINT32(body, &num, NULL); /* num results */ >+ SAFEALIGN_SETMEM_UINT32(body + sizeof(uint32_t), 0, NULL); /* reserved */ You also mixed SAFEALIGN_SETMEM_UINT32 with counter >+ SAFEALIGN_SETMEM_UINT32(body, 1, &pctr); /* num results */ >+ SAFEALIGN_SETMEM_UINT32(body + pctr, 0, &pctr); /* reserved */ >+ SAFEALIGN_SETMEM_UINT32(body + pctr, SSS_ID_TYPE_GID, &pctr); and another time without counter. >+ /* Got some results */ >+ SAFEALIGN_SETMEM_UINT32(body, 1, NULL); >+ /* Reserved padding */ >+ SAFEALIGN_SETMEM_UINT32(body + sizeof(uint32_t), 0, NULL); LS _______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://lists.fedorahosted.org/mailman/listinfo/sssd-devel