]> arthur.barton.de Git - netatalk.git/blobdiff - etc/afpd/directory.c
Merge branch 'release-3-0-1'
[netatalk.git] / etc / afpd / directory.c
index 7539d3ba8dbd1f28154053450d92b4d9a3d70ad7..ed40a26a7faf5e330ea8739386e33979e02de26f 100644 (file)
@@ -1881,9 +1881,12 @@ int setdirparams(struct vol *vol, struct path *path, uint16_t d_bitmap, char *bu
         case DIRPBIT_FINFO :
             if (isad) {
                 /* Fixes #2802236 */
-                uint16_t *fflags = (uint16_t *)(finder_buf + FINDERINFO_FRFLAGOFF);
-                *fflags &= htons(~FINDERINFO_ISHARED);
+                uint16_t fflags;
+                memcpy(&fflags, finder_buf + FINDERINFO_FRFLAGOFF, sizeof(uint16_t));
+                fflags &= htons(~FINDERINFO_ISHARED);
+                memcpy(finder_buf + FINDERINFO_FRFLAGOFF, &fflags, sizeof(uint16_t));
                 /* #2802236 end */
+
                 if (  dir->d_did == DIRDID_ROOT ) {
                     /*
                      * Alright, we admit it, this is *really* sick!