aboutsummaryrefslogtreecommitdiff
path: root/doc/examples
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2024-01-31 10:33:03 +0100
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2024-01-31 10:33:03 +0100
commit086fcdacbb6dae97eaf9ad02874c77b9251d91c1 (patch)
treec71c6c970bdf714ec484745ab801f685b2498dac /doc/examples
parentff5f1944cd61c6b5c74fc9b372d0e36f1daaa164 (diff)
downloadlibmicrohttpd-086fcdacbb6dae97eaf9ad02874c77b9251d91c1.tar.gz
libmicrohttpd-086fcdacbb6dae97eaf9ad02874c77b9251d91c1.zip
Fixes for 32-bit platforms
Diffstat (limited to 'doc/examples')
-rw-r--r--doc/examples/sessions.c12
1 files changed, 8 insertions, 4 deletions
diff --git a/doc/examples/sessions.c b/doc/examples/sessions.c
index 0544a2d7..86caaa20 100644
--- a/doc/examples/sessions.c
+++ b/doc/examples/sessions.c
@@ -524,8 +524,10 @@ post_iterator (void *cls,
524 } 524 }
525 if (0 == strcmp ("v1", key)) 525 if (0 == strcmp ("v1", key))
526 { 526 {
527 if (size + off > sizeof(session->value_1)) 527 if (off >= sizeof(session->value_1) - 1)
528 size = sizeof (session->value_1) - off; 528 return MHD_YES; /* Discard extra data */
529 if (size + off >= sizeof(session->value_1))
530 size = (size_t) (sizeof (session->value_1) - off - 1); /* crop extra data */
529 memcpy (&session->value_1[off], 531 memcpy (&session->value_1[off],
530 data, 532 data,
531 size); 533 size);
@@ -535,8 +537,10 @@ post_iterator (void *cls,
535 } 537 }
536 if (0 == strcmp ("v2", key)) 538 if (0 == strcmp ("v2", key))
537 { 539 {
538 if (size + off > sizeof(session->value_2)) 540 if (off >= sizeof(session->value_2) - 1)
539 size = sizeof (session->value_2) - off; 541 return MHD_YES; /* Discard extra data */
542 if (size + off >= sizeof(session->value_2))
543 size = (size_t) (sizeof (session->value_2) - off - 1); /* crop extra data */
540 memcpy (&session->value_2[off], 544 memcpy (&session->value_2[off],
541 data, 545 data,
542 size); 546 size);