aboutsummaryrefslogtreecommitdiff
path: root/src/examples/post_example.c
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 /src/examples/post_example.c
parentff5f1944cd61c6b5c74fc9b372d0e36f1daaa164 (diff)
downloadlibmicrohttpd-086fcdacbb6dae97eaf9ad02874c77b9251d91c1.tar.gz
libmicrohttpd-086fcdacbb6dae97eaf9ad02874c77b9251d91c1.zip
Fixes for 32-bit platforms
Diffstat (limited to 'src/examples/post_example.c')
-rw-r--r--src/examples/post_example.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/examples/post_example.c b/src/examples/post_example.c
index 2edf1f99..693ad321 100644
--- a/src/examples/post_example.c
+++ b/src/examples/post_example.c
@@ -520,8 +520,10 @@ post_iterator (void *cls,
520 } 520 }
521 if (0 == strcmp ("v1", key)) 521 if (0 == strcmp ("v1", key))
522 { 522 {
523 if (off >= sizeof(session->value_1) - 1)
524 return MHD_YES; /* Discard extra data */
523 if (size + off >= sizeof(session->value_1)) 525 if (size + off >= sizeof(session->value_1))
524 size = sizeof (session->value_1) - off - 1; 526 size = (size_t) (sizeof (session->value_1) - off - 1); /* crop extra data */
525 memcpy (&session->value_1[off], 527 memcpy (&session->value_1[off],
526 data, 528 data,
527 size); 529 size);
@@ -530,8 +532,10 @@ post_iterator (void *cls,
530 } 532 }
531 if (0 == strcmp ("v2", key)) 533 if (0 == strcmp ("v2", key))
532 { 534 {
535 if (off >= sizeof(session->value_2) - 1)
536 return MHD_YES; /* Discard extra data */
533 if (size + off >= sizeof(session->value_2)) 537 if (size + off >= sizeof(session->value_2))
534 size = sizeof (session->value_2) - off - 1; 538 size = (size_t) (sizeof (session->value_2) - off - 1); /* crop extra data */
535 memcpy (&session->value_2[off], 539 memcpy (&session->value_2[off],
536 data, 540 data,
537 size); 541 size);