Ignore:
Timestamp:
Feb 18, 2015, 10:18:05 AM (11 years ago)
Author:
Silvan Scherrer
Message:

samba server 3.6: update trunk to 3.6.24

Location:
trunk/server
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/server

  • trunk/server/source3/lib/charcnv.c

    r873 r874  
    823823size_t push_ascii(void *dest, const char *src, size_t dest_len, int flags)
    824824{
    825         size_t src_len = strlen(src);
     825        size_t src_len = 0;
    826826        char *tmpbuf = NULL;
    827827        size_t ret;
     
    841841        }
    842842
     843        src_len = strlen(src);
    843844        if (flags & (STR_TERMINATE | STR_TERMINATE_ASCII)) {
    844845                src_len++;
     
    846847
    847848        ret = convert_string(CH_UNIX, CH_DOS, src, src_len, dest, dest_len, True);
    848         if (ret == (size_t)-1 &&
    849                         (flags & (STR_TERMINATE | STR_TERMINATE_ASCII))
    850                         && dest_len > 0) {
    851                 ((char *)dest)[0] = '\0';
    852         }
     849
    853850        SAFE_FREE(tmpbuf);
     851        if (ret == (size_t)-1) {
     852                if ((flags & (STR_TERMINATE | STR_TERMINATE_ASCII))
     853                                && dest_len > 0) {
     854                        ((char *)dest)[0] = '\0';
     855                }
     856                return 0;
     857        }
    854858        return ret;
    855859}
  • trunk/server/source3/lib/system.c

    r862 r874  
    282282/*******************************************************************
    283283A recvfrom wrapper that will deal with EINTR.
     284NB. As used with non-blocking sockets, return on EAGAIN/EWOULDBLOCK
    284285********************************************************************/
    285286
     
    290291        do {
    291292                ret = recvfrom(s, buf, len, flags, from, fromlen);
    292 #if defined(EWOULDBLOCK)
    293         } while (ret == -1 && (errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK));
    294 #else
    295         } while (ret == -1 && (errno == EINTR || errno == EAGAIN));
    296 #endif
     293        } while (ret == -1 && (errno == EINTR));
    297294        return ret;
    298295}
Note: See TracChangeset for help on using the changeset viewer.