Commit c29be795c254d3c0b83a042a30092abe65c0d925
1 parent
e3e52c8f
Exists in
master
and in
2 other branches
Fixing code scanning alerts.
Showing
4 changed files
with
29 additions
and
14 deletions
Show diff stats
src/core/ctlr.c
@@ -2364,8 +2364,13 @@ void ctlr_clear(H3270 *session, Boolean can_snap) | @@ -2364,8 +2364,13 @@ void ctlr_clear(H3270 *session, Boolean can_snap) | ||
2364 | 2364 | ||
2365 | #endif | 2365 | #endif |
2366 | 2366 | ||
2367 | - /* Clear the screen. */ | ||
2368 | - (void) memset((char *)session->ea_buf, 0, session->view.rows * session->view.cols * sizeof(struct lib3270_ea)); | 2367 | + // Clear the screen. |
2368 | + (void) memset( | ||
2369 | + (char *)session->ea_buf, | ||
2370 | + 0, | ||
2371 | + ((size_t)session->view.rows) * ((size_t) session->view.cols) * sizeof(struct lib3270_ea) | ||
2372 | + ); | ||
2373 | + | ||
2369 | cursor_move(session,0); | 2374 | cursor_move(session,0); |
2370 | session->buffer_addr = 0; | 2375 | session->buffer_addr = 0; |
2371 | 2376 |
src/core/rpq.c
@@ -376,9 +376,7 @@ static Boolean select_rpq_terms(H3270 *hSession) | @@ -376,9 +376,7 @@ static Boolean select_rpq_terms(H3270 *hSession) | ||
376 | return False; | 376 | return False; |
377 | } | 377 | } |
378 | 378 | ||
379 | -/** | ||
380 | - * @brief Utility function used by the RPQNAMES query reply. | ||
381 | - */ | 379 | +/// @brief Utility function used by the RPQNAMES query reply. |
382 | static int get_rpq_timezone(H3270 *hSession) | 380 | static int get_rpq_timezone(H3270 *hSession) |
383 | { | 381 | { |
384 | /* | 382 | /* |
@@ -394,7 +392,7 @@ static int get_rpq_timezone(H3270 *hSession) | @@ -394,7 +392,7 @@ static int get_rpq_timezone(H3270 *hSession) | ||
394 | */ | 392 | */ |
395 | time_t here; | 393 | time_t here; |
396 | struct tm here_tm; | 394 | struct tm here_tm; |
397 | - struct tm *utc_tm; | 395 | + struct tm utc_tm; |
398 | double delta; | 396 | double delta; |
399 | char *p1, *p2; | 397 | char *p1, *p2; |
400 | struct rpq_keyword *kw; | 398 | struct rpq_keyword *kw; |
@@ -440,22 +438,31 @@ static int get_rpq_timezone(H3270 *hSession) | @@ -440,22 +438,31 @@ static int get_rpq_timezone(H3270 *hSession) | ||
440 | } | 438 | } |
441 | 439 | ||
442 | 440 | ||
443 | -// memcpy(&here_tm, localtime(&here), sizeof(struct tm)); | ||
444 | - localtime_r(&here, &here_tm); | 441 | + localtime_r(&here,&here_tm); |
442 | + | ||
443 | + if(gmtime_r(&here,&utc_tm) == NULL) | ||
444 | + { | ||
445 | + rpq_warning(hSession, _("RPQ: Unable to determine workstation UTC time")); | ||
446 | + return 2; | ||
447 | + } | ||
448 | + | ||
449 | + /* | ||
450 | + memcpy(&here_tm, localtime(&here), sizeof(struct tm)); | ||
445 | 451 | ||
446 | if ((utc_tm = gmtime(&here)) == NULL) | 452 | if ((utc_tm = gmtime(&here)) == NULL) |
447 | { | 453 | { |
448 | rpq_warning(hSession, _("RPQ: Unable to determine workstation UTC time")); | 454 | rpq_warning(hSession, _("RPQ: Unable to determine workstation UTC time")); |
449 | return 2; | 455 | return 2; |
450 | } | 456 | } |
457 | + */ | ||
451 | 458 | ||
452 | /* | 459 | /* |
453 | * Do not take Daylight Saving Time into account. | 460 | * Do not take Daylight Saving Time into account. |
454 | * We just want the "raw" time difference. | 461 | * We just want the "raw" time difference. |
455 | */ | 462 | */ |
456 | here_tm.tm_isdst = 0; | 463 | here_tm.tm_isdst = 0; |
457 | - utc_tm->tm_isdst = 0; | ||
458 | - delta = difftime(mktime(&here_tm), mktime(utc_tm)) / 60L; | 464 | + utc_tm.tm_isdst = 0; |
465 | + delta = difftime(mktime(&here_tm), mktime(&utc_tm)) / 60L; | ||
459 | } | 466 | } |
460 | 467 | ||
461 | // sanity check: difference cannot exceed +/- 12 hours | 468 | // sanity check: difference cannot exceed +/- 12 hours |
src/core/telnet.c
@@ -2152,10 +2152,13 @@ void trace_netdata(H3270 *hSession, char direction, unsigned const char *buf, in | @@ -2152,10 +2152,13 @@ void trace_netdata(H3270 *hSession, char direction, unsigned const char *buf, in | ||
2152 | int offset; | 2152 | int offset; |
2153 | int col = 0; | 2153 | int col = 0; |
2154 | 2154 | ||
2155 | - time_t ltime; | 2155 | + { |
2156 | + time_t ltime; | ||
2157 | + struct tm tm; | ||
2158 | + time(<ime); | ||
2159 | + strftime(l1, 81, "%x %X", localtime_r(<ime,&tm)); | ||
2160 | + } | ||
2156 | 2161 | ||
2157 | - time(<ime); | ||
2158 | - strftime(l1, 81, "%x %X", localtime(<ime)); | ||
2159 | lib3270_write_nettrace(hSession,"%c %s %s data len=%d\n\n",direction,l1,direction == '>' ? "SEND" : "RECV", len); | 2162 | lib3270_write_nettrace(hSession,"%c %s %s data len=%d\n\n",direction,l1,direction == '>' ? "SEND" : "RECV", len); |
2160 | 2163 | ||
2161 | for (offset = 0; offset < len; offset++) | 2164 | for (offset = 0; offset < len; offset++) |
src/core/util.c
@@ -183,7 +183,7 @@ LIB3270_EXPORT void * lib3270_realloc(void *p, int len) | @@ -183,7 +183,7 @@ LIB3270_EXPORT void * lib3270_realloc(void *p, int len) | ||
183 | 183 | ||
184 | LIB3270_EXPORT void * lib3270_calloc(int elsize, int nelem, void *ptr) | 184 | LIB3270_EXPORT void * lib3270_calloc(int elsize, int nelem, void *ptr) |
185 | { | 185 | { |
186 | - size_t sz = nelem * elsize; | 186 | + size_t sz = ((size_t) nelem) * ((size_t) elsize); |
187 | 187 | ||
188 | if(ptr) | 188 | if(ptr) |
189 | ptr = realloc(ptr,sz); | 189 | ptr = realloc(ptr,sz); |