X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Falock.c;h=37d467ad127e658ee0ee0021998f4a13cfa22924;hb=e48f72c1b5a7ce571c7ced749aed473d20b32526;hp=461f4b556c1eeb0b32b6e7f95620c3ba610e3cb7;hpb=cc2ad31bbaec99c04283d971ea5a73ad1dcd6671;p=openldap diff --git a/servers/slapd/alock.c b/servers/slapd/alock.c index 461f4b556c..37d467ad12 100644 --- a/servers/slapd/alock.c +++ b/servers/slapd/alock.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2006 The OpenLDAP Foundation. + * Copyright 2005-2007 The OpenLDAP Foundation. * Portions Copyright 2004-2005 Symas Corporation. * All rights reserved. * @@ -32,7 +32,9 @@ #include #include #include +#if HAVE_SYS_FILE_H #include +#endif #include #ifdef _WIN32 @@ -229,7 +231,7 @@ alock_read_slot ( alock_info_t * info, } if (alock_read_iattr (slotbuf) != ALOCK_MAGIC) { - return 1; + return -1; } slot_data->al_lock = alock_read_iattr (slotbuf+8); slot_data->al_stamp = alock_read_iattr (slotbuf+16); @@ -262,7 +264,8 @@ alock_write_slot ( alock_info_t * info, alock_write_iattr (slotbuf+16, slot_data->al_stamp); alock_write_iattr (slotbuf+24, slot_data->al_pid); - strncpy ((char *)slotbuf+32, slot_data->al_appname, ALOCK_MAX_APPNAME-1); + if (slot_data->al_appname) + strncpy ((char *)slotbuf+32, slot_data->al_appname, ALOCK_MAX_APPNAME-1); slotbuf[ALOCK_SLOT_SIZE-1] = '\0'; res = lseek (info->al_fd,