Changeset 1690 for zzuf


Ignore:
Timestamp:
Jan 17, 2007, 5:32:45 PM (14 years ago)
Author:
Sam Hocevar
Message:
  • Improved recvfrom() debug information.
  • Implemented recv().
File:
1 edited

Legend:

Unmodified
Added
Removed
  • zzuf/trunk/src/lib-fd.c

    r1687 r1690  
    6363                                SOCKLEN_T *addrlen);
    6464static int     (*socket_orig)  (int domain, int type, int protocol);
    65 static int     (*recvfrom_orig)(int s,  void  *buf,  size_t len, int flags,
     65static int     (*recv_orig)    (int s, void *buf, size_t len, int flags);
     66static int     (*recvfrom_orig)(int s, void *buf, size_t len, int flags,
    6667                                struct sockaddr *from, SOCKLEN_T *fromlen);
    6768static ssize_t (*read_orig)    (int fd, void *buf, size_t count);
     
    154155}
    155156
    156 int recvfrom(int s,  void  *buf,  size_t len, int flags,
     157int recv(int s, void *buf, size_t len, int flags)
     158{
     159    int ret;
     160
     161    LOADSYM(recv);
     162    ret = recv_orig(s, buf, len, flags);
     163    if(!_zz_ready || _zz_disabled || !_zz_network)
     164        return ret;
     165
     166    if(ret > 0)
     167    {
     168        char *b = buf;
     169
     170        _zz_fuzz(s, buf, ret);
     171        _zz_addpos(s, ret);
     172
     173        if(ret >= 4)
     174            debug("%s(%i, %p, %li, 0x%x) = %i \"%c%c%c%c...", __func__,
     175                  s, buf, (long int)len, flags, ret, b[0], b[1], b[2], b[3]);
     176        else
     177            debug("%s(%i, %p, %li, 0x%x) = %i \"%c...", __func__,
     178                  s, buf, (long int)len, flags, ret, b[0]);
     179    }
     180    else
     181        debug("%s(%i, %p, %li, 0x%x) = %i", __func__,
     182              s, buf, (long int)len, flags, ret);
     183
     184    return ret;
     185}
     186
     187int recvfrom(int s, void *buf, size_t len, int flags,
    157188             struct sockaddr *from, SOCKLEN_T *fromlen)
    158189{
     
    172203
    173204        if(ret >= 4)
    174             debug("%s(%i, %p, %li) = %i \"%c%c%c%c...", __func__, s, buf,
    175                   (long int)len, ret, b[0], b[1], b[2], b[3]);
     205            debug("%s(%i, %p, %li, 0x%x, %p, %p) = %i \"%c%c%c%c...", __func__,
     206                  s, buf, (long int)len, flags, from, fromlen, ret,
     207                  b[0], b[1], b[2], b[3]);
    176208        else
    177             debug("%s(%i, %p, %li) = %i \"%c...", __func__, s, buf,
    178                   (long int)len, ret, b[0]);
     209            debug("%s(%i, %p, %li, 0x%x, %p, %p) = %i \"%c...", __func__,
     210                  s, buf, (long int)len, flags, from, fromlen, ret, b[0]);
    179211    }
    180212    else
    181         debug("%s(%i, %p, %li) = %i", __func__, s, buf, (long int)len, ret);
     213        debug("%s(%i, %p, %li, 0x%x, %p, %p) = %i", __func__,
     214              s, buf, (long int)len, flags, from, fromlen, ret);
    182215
    183216    return ret;
Note: See TracChangeset for help on using the changeset viewer.