diff options
Diffstat (limited to 'src/microhttpd/test_upgrade_large.c')
-rw-r--r-- | src/microhttpd/test_upgrade_large.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/src/microhttpd/test_upgrade_large.c b/src/microhttpd/test_upgrade_large.c index e04e7ebf..477a0851 100644 --- a/src/microhttpd/test_upgrade_large.c +++ b/src/microhttpd/test_upgrade_large.c | |||
@@ -1445,7 +1445,7 @@ test_upgrade (int flags, | |||
1445 | struct MHD_Daemon *d = NULL; | 1445 | struct MHD_Daemon *d = NULL; |
1446 | struct wr_socket *sock; | 1446 | struct wr_socket *sock; |
1447 | struct sockaddr_in sa; | 1447 | struct sockaddr_in sa; |
1448 | const union MHD_DaemonInfo *real_flags; | 1448 | enum MHD_FLAG used_flags; |
1449 | const union MHD_DaemonInfo *dinfo; | 1449 | const union MHD_DaemonInfo *dinfo; |
1450 | #if defined(HTTPS_SUPPORT) && defined(HAVE_FORK) && defined(HAVE_WAITPID) | 1450 | #if defined(HTTPS_SUPPORT) && defined(HAVE_FORK) && defined(HAVE_WAITPID) |
1451 | pid_t pid = -1; | 1451 | pid_t pid = -1; |
@@ -1486,10 +1486,11 @@ test_upgrade (int flags, | |||
1486 | #endif /* HTTPS_SUPPORT */ | 1486 | #endif /* HTTPS_SUPPORT */ |
1487 | if (NULL == d) | 1487 | if (NULL == d) |
1488 | mhdErrorExitDesc ("MHD_start_daemon() failed"); | 1488 | mhdErrorExitDesc ("MHD_start_daemon() failed"); |
1489 | real_flags = MHD_get_daemon_info (d, | 1489 | dinfo = MHD_get_daemon_info (d, |
1490 | MHD_DAEMON_INFO_FLAGS); | 1490 | MHD_DAEMON_INFO_FLAGS); |
1491 | if (NULL == real_flags) | 1491 | if (NULL == dinfo) |
1492 | mhdErrorExitDesc ("MHD_get_daemon_info() failed"); | 1492 | mhdErrorExitDesc ("MHD_get_daemon_info() failed"); |
1493 | used_flags = dinfo->flags; | ||
1493 | dinfo = MHD_get_daemon_info (d, | 1494 | dinfo = MHD_get_daemon_info (d, |
1494 | MHD_DAEMON_INFO_BIND_PORT); | 1495 | MHD_DAEMON_INFO_BIND_PORT); |
1495 | if ( (NULL == dinfo) || | 1496 | if ( (NULL == dinfo) || |
@@ -1543,15 +1544,7 @@ test_upgrade (int flags, | |||
1543 | sock)) | 1544 | sock)) |
1544 | externalErrorExitDesc ("pthread_create() failed"); | 1545 | externalErrorExitDesc ("pthread_create() failed"); |
1545 | if (0 == (flags & MHD_USE_INTERNAL_POLLING_THREAD) ) | 1546 | if (0 == (flags & MHD_USE_INTERNAL_POLLING_THREAD) ) |
1546 | { | ||
1547 | enum MHD_FLAG used_flags; | ||
1548 | |||
1549 | /* make address sanitizer happy */ | ||
1550 | memcpy (&used_flags, | ||
1551 | real_flags /* ->flags */, | ||
1552 | sizeof (used_flags)); | ||
1553 | run_mhd_loop (d, used_flags); | 1547 | run_mhd_loop (d, used_flags); |
1554 | } | ||
1555 | if (0 != pthread_join (pt_client, | 1548 | if (0 != pthread_join (pt_client, |
1556 | NULL)) | 1549 | NULL)) |
1557 | externalErrorExitDesc ("pthread_join() failed"); | 1550 | externalErrorExitDesc ("pthread_join() failed"); |