Ignore:
Timestamp:
Jan 26, 2011, 3:31:18 PM (15 years ago)
Author:
Silvan Scherrer
Message:

Samba Client 2.1: degug changes, attemp to fix the trap

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/client/src/ndpsmb.c

    r531 r533  
    150150                ifL = 1;
    151151        }
     152        debugInit();
    152153        debuglocal(9,"Working with %s bit fileio NDFS\n", ifL ? "64" : "32");
    153154        return NO_ERROR;
     
    157158int APIENTRY NdpPluginFree (void)
    158159{
     160        debugDelete();
    159161        return NO_ERROR;
    160162}
     
    982984                                        {       
    983985                                            rc = (finfo.attr & FILE_DIRECTORY) !=0 ?
    984                                                 ERROR_PATH_NOT_FOUND :
    985                                                 ERROR_INVALID_PARAMETER;
     986                                                ERROR_FILE_NOT_FOUND:
     987                                                ERROR_PATH_NOT_FOUND;
    986988                                        }
    987989                                        else if (rc != ERROR_REM_NOT_LIST)
     
    12171219        NDDATABUF fdata = {0};
    12181220        smbwrp_fileinfo *finfo;
    1219         char    pBuffer[64*1024];
     1221        const int cbBuffer = 64*1024;
    12201222
    12211223        if (!pfi || !pfi->pszName || !pFEAList)
     
    12391241        debuglocal(9,"NdpEAQuery in [%p] <%s> %08x %d\n", pConn, path, pGEAList, pGEAList ? pGEAList->cbList : 0);
    12401242
     1243        char *pchBuffer = (char *)malloc(cbBuffer);
     1244        if (!pchBuffer)
     1245                return ERROR_NOT_ENOUGH_MEMORY;
     1246
    12411247        do {
    1242                 rc = smbwrp_listea( pConn->cli, path, pBuffer, sizeof( pBuffer));
    1243                 pFEASrc = (FEALIST*) pBuffer;
     1248                rc = smbwrp_listea( pConn->cli, path, pchBuffer, cbBuffer);
     1249                pFEASrc = (FEALIST*) pchBuffer;
    12441250                if (rc)
    12451251                {
     
    12681274                }
    12691275        } while (0);
     1276        free(pchBuffer);
    12701277        debuglocal(9,"NdpEAQuery <%s> %d %d %d\n", pfi->pszName, rc, pFEASrc->cbList, pFEAList->cbList);
    12711278
     
    13341341        NDDATABUF fdata = {0};
    13351342        smbwrp_fileinfo *finfo;
    1336         char    pBuffer[64*1024];
     1343        const int cbBuffer = 64*1024;
    13371344        int easize;
    13381345
     
    13521359                return ERROR_EAS_NOT_SUPPORTED;
    13531360        }
     1361
    13541362        finfo = (smbwrp_fileinfo *)fdata.pData;
    13551363        easize = finfo->easize;
     
    13651373        debuglocal(9,"NdpEASize in [%p] <%s> \n", pConn, path);
    13661374
     1375        char *pchBuffer = (char *)malloc(cbBuffer);
     1376        if (!pchBuffer)
     1377                return ERROR_NOT_ENOUGH_MEMORY;
     1378
    13671379        do {
    1368                 rc = smbwrp_listea(pConn->cli, path, pBuffer, sizeof( pBuffer));
    1369                 pfealist = (FEALIST*)pBuffer;
     1380                rc = smbwrp_listea(pConn->cli, path, pchBuffer, cbBuffer);
     1381                pfealist = (FEALIST*)pchBuffer;
    13701382                if (rc)
    13711383                {
     
    13901402                *pulEASize = pfealist->cbList;
    13911403        } while (0);
     1404        free(pchBuffer);
    13921405        debuglocal(9,"NdpEASize <%s> %d %d\n", pfi->pszName, *pulEASize, rc);
    13931406
     
    17401753        int rc = 0;
    17411754        unsigned long action;
    1742         char pBuffer[64*1024];
     1755        const int cbBuffer = 64*1024;
    17431756        FEALIST * pFEASrc;
    17441757
     
    17531766
    17541767        debuglocal(9,"NdpFileEAQuery in [%p] <%s>/%d pGEAList=%08x\n", pConn, pConn->file.fname, pConn->file.fd, pGEAList);
     1768
     1769        char *pchBuffer = (char *)malloc(cbBuffer);
     1770        if (!pchBuffer)
     1771                return ERROR_NOT_ENOUGH_MEMORY;
     1772
    17551773        do {
    17561774                if (pConn->file.fd < 0)
     
    17591777                        break;
    17601778                }
    1761                 rc = smbwrp_flistea(pConn->cli, &pConn->file, pBuffer, sizeof( pBuffer));
    1762                 pFEASrc = (FEALIST *) pBuffer;
     1779                rc = smbwrp_flistea(pConn->cli, &pConn->file, pchBuffer, cbBuffer);
     1780                pFEASrc = (FEALIST *)pchBuffer;
    17631781                if (rc)
    17641782                {
     
    17871805                }
    17881806        } while (0);
     1807        free(pchBuffer);
    17891808        debuglocal(9,"NdpFileEAQuery out <%s>/%d pFEASrc->cbList=%d pFEAList->cbList=%d rc=%d\n", pConn->file.fname, pConn->file.fd, pFEASrc->cbList, pFEAList->cbList, rc);
    17901809
     
    18461865        char path[CCHMAXPATH+1] = {0};
    18471866        FEALIST * pFEAList;
    1848         char pBuffer[64*1024];
     1867        const int cbBuffer = 64*1024;
    18491868
    18501869        if (!pulEASize)
     
    18581877
    18591878        debuglocal(9,"NdpFileEASize in [%p] <%s>/%d \n", pConn, pConn->file.fname, pConn->file.fd);
     1879
     1880        char *pchBuffer = (char *)malloc(cbBuffer);
     1881        if (!pchBuffer)
     1882                return ERROR_NOT_ENOUGH_MEMORY;
     1883
    18601884        do {
    18611885                if (pConn->file.fd < 0)
     
    18641888                        break;
    18651889                }
    1866                 rc = smbwrp_flistea(pConn->cli, &pConn->file, pBuffer, sizeof(pBuffer));
    1867                 pFEAList = (FEALIST*) pBuffer;
     1890                rc = smbwrp_flistea(pConn->cli, &pConn->file, pchBuffer, cbBuffer);
     1891                pFEAList = (FEALIST*)pchBuffer;
    18681892                if (rc)
    18691893                {
     
    18881912                *pulEASize = pFEAList->cbList;
    18891913        } while (0);
     1914        free(pchBuffer);
    18901915        debuglocal(9,"NdpFileEASize %d %d\n", *pulEASize, rc);
    18911916
Note: See TracChangeset for help on using the changeset viewer.