Fossil

Check-in [e4b49ce3]
Login

Check-in [e4b49ce3]

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fix an off by 1 bug in "win32_http_request()" which was causing POST request to fail on windows. (e.g. wikiedit preview or upload of a file on the chat) Problem appear in checkin [7a3bf55f5489f534]
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: e4b49ce37d07f43a64759611bc5c67704a2b6d3dae7481fdb4af8e8d7d0a7438
User & Date: mgagnon 2022-01-27 04:34:35
Original Comment: Fix an off by 1 bug in "win32_http_request()" which was causing POST request to fail on windows. (e.g. wikiedit preview or upload of a file on the chat)

Problem appear in checkin [7a3bf55f5489f534]

Context
2022-01-27
11:20
Be strict about compiler warnings for Windows builds. ... (check-in: 57f16ce8 user: drh tags: trunk)
06:39
Create new branch named "msvc-warn2-fatal" ... (check-in: 5e6484a5 user: larrybr tags: msvc-warn2-fatal)
04:34
Fix an off by 1 bug in "win32_http_request()" which was causing POST request to fail on windows. (e.g. wikiedit preview or upload of a file on the chat) Problem appear in checkin [7a3bf55f5489f534] ... (check-in: e4b49ce3 user: mgagnon tags: trunk)
03:57
Make sure the pikchr() function has a prototype(). MSVC generates incorrect code (and does not give a warning) if the prototype is missing. ... (check-in: a27b3364 user: drh tags: trunk)
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to src/winhttp.c.

361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
#ifdef FOSSIL_ENABLE_SSL
    sslConn = ssl_new_server(p->s);
#endif
  }
  while( amt<szHdr ){
    if( sslConn ){
#ifdef FOSSIL_ENABLE_SSL
      got = ssl_read_server(sslConn, &zBuf[amt], szHdr-amt);
#endif
    }else{
      got = recv(p->s, &zBuf[amt], szHdr-amt, 0);
      if( got==SOCKET_ERROR ) goto end_request;
    }
    if( got==0 ){
      wanted = 0;
      break;
    }
    amt += got;







|


|







361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
#ifdef FOSSIL_ENABLE_SSL
    sslConn = ssl_new_server(p->s);
#endif
  }
  while( amt<szHdr ){
    if( sslConn ){
#ifdef FOSSIL_ENABLE_SSL
      got = ssl_read_server(sslConn, &zBuf[amt], szHdr-1-amt);
#endif
    }else{
      got = recv(p->s, &zBuf[amt], szHdr-1-amt, 0);
      if( got==SOCKET_ERROR ) goto end_request;
    }
    if( got==0 ){
      wanted = 0;
      break;
    }
    amt += got;