<div dir="ltr">Again..  issue lurking spotted by new version of Coverity Scan. <div><br></div><div>Please look at it and fix.<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">---------- Forwarded message ---------<br>From: <span dir="auto"><<a href="mailto:scan-admin@coverity.com">scan-admin@coverity.com</a>></span><br>Date: Mon, Aug 29, 2022 at 5:55 PM<br>Subject: New Defects reported by Coverity Scan for RTEMS<br>To:  <<a href="mailto:build@rtems.org">build@rtems.org</a>><br></div><br><br>Hi,<br>
<br>
Please find the latest report on new defect(s) introduced to RTEMS found with Coverity Scan.<br>
<br>
61 new defect(s) introduced to RTEMS found with Coverity Scan.<br>
5 defect(s), reported by Coverity Scan earlier, were marked fixed in the recent build analyzed by Coverity Scan.<br>
<br>
New defect(s) Reported-by: Coverity Scan<br>
Showing 20 of 61 defect(s)<br>
<br>
<br>
** CID 1512552:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/kern_tc.c: 1804 in _Timecounter_Windup()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512552:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/kern_tc.c: 1804 in _Timecounter_Windup()<br>
1798            /* Go live with the new struct timehands. */<br>
1799     #ifdef FFCLOCK<br>
1800            switch (sysclock_active) {<br>
1801            case SYSCLOCK_FBCK:<br>
1802     #endif<br>
1803                    time_second = th->th_microtime.tv_sec;<br>
>>>     CID 1512552:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "th->th_offset.sec" is cast to "int32_t".<br>
1804                    time_uptime = th->th_offset.sec;<br>
1805     #ifdef FFCLOCK<br>
1806                    break;<br>
1807            case SYSCLOCK_FFWD:<br>
1808                    time_second = fftimehands->tick_time_lerp.sec;<br>
1809                    time_uptime = fftimehands->tick_time_lerp.sec - ffclock_boottime.sec;<br>
<br>
** CID 1512551:    (Y2K38_SAFETY)<br>
/bsps/shared/dev/getentropy/getentropy-cpucounter.c: 74 in getentropy_init()<br>
/bsps/shared/dev/getentropy/getentropy-cpucounter.c: 75 in getentropy_init()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512551:    (Y2K38_SAFETY)<br>
/bsps/shared/dev/getentropy/getentropy-cpucounter.c: 74 in getentropy_init()<br>
68     {<br>
69       struct bintime bt;<br>
70     <br>
71       rtems_bsd_bintime(&bt);<br>
72       state = (uint32_t) bt.frac;<br>
73       state ^= (uint32_t) (bt.frac >> 32);<br>
>>>     CID 1512551:    (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "bt.sec" is cast to "uint32_t".<br>
74       state ^= (uint32_t) bt.sec;<br>
75       state ^= (uint32_t) (bt.sec >> 32);<br>
76     }<br>
77     <br>
78     RTEMS_SYSINIT_ITEM(<br>
79       getentropy_init,<br>
80       RTEMS_SYSINIT_DEVICE_DRIVERS,<br>
81       RTEMS_SYSINIT_ORDER_LAST_BUT_5<br>
/bsps/shared/dev/getentropy/getentropy-cpucounter.c: 75 in getentropy_init()<br>
69       struct bintime bt;<br>
70     <br>
71       rtems_bsd_bintime(&bt);<br>
72       state = (uint32_t) bt.frac;<br>
73       state ^= (uint32_t) (bt.frac >> 32);<br>
74       state ^= (uint32_t) bt.sec;<br>
>>>     CID 1512551:    (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "bt.sec >> 32" is cast to "uint32_t".<br>
75       state ^= (uint32_t) (bt.sec >> 32);<br>
76     }<br>
77     <br>
78     RTEMS_SYSINIT_ITEM(<br>
79       getentropy_init,<br>
80       RTEMS_SYSINIT_DEVICE_DRIVERS,<br>
81       RTEMS_SYSINIT_ORDER_LAST_BUT_5<br>
<br>
** CID 1512550:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/gc.c: 878 in jffs2_garbage_collect_dirent()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512550:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/gc.c: 878 in jffs2_garbage_collect_dirent()<br>
872             rd.pino = cpu_to_je32(f->inocache->ino);<br>
873             rd.version = cpu_to_je32(++f->highest_version);<br>
874             rd.ino = cpu_to_je32(fd->ino);<br>
875             /* If the times on this inode were set by explicit utime() they can be different,<br>
876                so refrain from splatting them. */<br>
877             if (JFFS2_F_I_MTIME(f) == JFFS2_F_I_CTIME(f))<br>
>>>     CID 1512550:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "((struct _inode *)((uintptr_t)f - 72U))->i_mtime" is cast to "__u32".<br>
878                     rd.mctime = cpu_to_je32(JFFS2_F_I_MTIME(f));<br>
879             else<br>
880                     rd.mctime = cpu_to_je32(0);<br>
881             rd.type = fd->type;<br>
882             rd.node_crc = cpu_to_je32(crc32(0, &rd, sizeof(rd)-8));<br>
883             rd.name_crc = cpu_to_je32(crc32(0, fd->name, rd.nsize));<br>
<br>
** CID 1512549:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/kern_tc.c: 2384 in _Timecounter_Tick_simple()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512549:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/kern_tc.c: 2384 in _Timecounter_Tick_simple()<br>
2378     #else<br>
2379            atomic_store_rel_int(&th->th_generation, th->th_generation + 1);<br>
2380     #endif<br>
2381     <br>
2382            /* Go live with the new struct timehands. */<br>
2383            time_second = th->th_microtime.tv_sec;<br>
>>>     CID 1512549:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "th->th_offset.sec" is cast to "int32_t".<br>
2384            time_uptime = th->th_offset.sec;<br>
2385     <br>
2386            _Timecounter_Release(lock_context);<br>
2387     <br>
2388            _Watchdog_Tick(_Per_CPU_Get_snapshot());<br>
2389     }<br>
<br>
** CID 1512548:  Incorrect expression  (PRECEDENCE_ERROR)<br>
/cpukit/libdl/rtl-shell.c: 877 in rtems_rtl_shell_archive()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512548:  Incorrect expression  (PRECEDENCE_ERROR)<br>
/cpukit/libdl/rtl-shell.c: 877 in rtems_rtl_shell_archive()<br>
871             continue;<br>
872           }<br>
873         }<br>
874     <br>
875         rtems_printf (printer, "%s%c\n",<br>
876                       archive->name,<br>
>>>     CID 1512548:  Incorrect expression  (PRECEDENCE_ERROR)<br>
>>>     Evaluates as: "(details | symbols | duplicates) ? <then> : <else>", because "|" has higher operator precedence than "?:". The context suggests that this might be in error.<br>
877                       details | symbols | duplicates ? ':' : ' ');<br>
878     <br>
879         if (details)<br>
880         {<br>
881           rtems_printf (printer, "  size    : %zu\n", archive->size);<br>
882           rtems_printf (printer, "  symbols : %zu\n", archive->symbols.entries);<br>
<br>
** CID 1512547:  Integer handling issues  (BAD_SHIFT)<br>
/cpukit/zlib/inflate.c: 225 in z_inflatePrime()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512547:  Integer handling issues  (BAD_SHIFT)<br>
/cpukit/zlib/inflate.c: 225 in z_inflatePrime()<br>
219             state->hold = 0;<br>
220             state->bits = 0;<br>
221             return Z_OK;<br>
222         }<br>
223         if (bits > 16 || state->bits + bits > 32) return Z_STREAM_ERROR;<br>
224         value &= (1L << bits) - 1;<br>
>>>     CID 1512547:  Integer handling issues  (BAD_SHIFT)<br>
>>>     In expression "value << state->bits", left shifting by more than 31 bits has undefined behavior.  The shift amount, "state->bits", is as much as 32.<br>
225         state->hold += value << state->bits;<br>
226         state->bits += bits;<br>
227         return Z_OK;<br>
228     }<br>
229     <br>
230     /*<br>
<br>
** CID 1512546:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/schedulercbsreleasejob.c: 60 in _Scheduler_CBS_Release_job()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512546:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/score/src/schedulercbsreleasejob.c: 60 in _Scheduler_CBS_Release_job()<br>
54     <br>
55       node = _Scheduler_CBS_Thread_get_node( the_thread );<br>
56       serv_info = node->cbs_server;<br>
57     <br>
58       /* Budget replenishment for the next job. */<br>
59       if ( serv_info != NULL ) {<br>
>>>     CID 1512546:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "serv_info->parameters.budget" is cast to "uint32_t".<br>
60         the_thread->CPU_budget.available = serv_info->parameters.budget;<br>
61       }<br>
62     <br>
63       node->deadline_node = priority_node;<br>
64     <br>
65       _Scheduler_EDF_Release_job(<br>
<br>
** CID 1512545:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512545:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/libmisc/rtems-fdt/rtems-fdt.c: 664 in rtems_fdt_register()<br>
658       blob->blob = dtb;<br>
659       blob->name = NULL;<br>
660       rtems_chain_initialize_node(&blob->node);<br>
661     <br>
662       fdt = rtems_fdt_lock ();<br>
663     <br>
>>>     CID 1512545:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized value "blob->node.next" when calling "rtems_chain_append_unprotected".<br>
664       rtems_chain_append_unprotected (&fdt->blobs, &blob->node);<br>
665     <br>
666       blob->refs = 1;<br>
667     <br>
668       rtems_fdt_unlock (fdt);<br>
669     <br>
<br>
** CID 1512544:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512544:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/libcsupport/src/sup_fs_location.c: 98 in rtems_filesystem_location_transform_to_global()<br>
92       rtems_filesystem_global_location_t *global_loc = malloc(sizeof(*global_loc));<br>
93     <br>
94       if (global_loc != NULL) {<br>
95         global_loc->reference_count = 1;<br>
96         global_loc->deferred_released_next = NULL;<br>
97         global_loc->deferred_released_count = 0;<br>
>>>     CID 1512544:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized value "global_loc->location.mt_entry_node.next" when calling "rtems_filesystem_location_copy".<br>
98         rtems_filesystem_location_copy(&global_loc->location, loc);<br>
99         rtems_filesystem_location_remove_from_mt_entry(loc);<br>
100       } else {<br>
101         rtems_filesystem_location_free(loc);<br>
102         global_loc = rtems_filesystem_global_location_obtain_null();<br>
103         errno = ENOMEM;<br>
<br>
** CID 1512543:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512543:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/posix/src/pthreadcreate.c: 369 in _POSIX_Threads_Sporadic_timer()<br>
363       }<br>
364     <br>
365       _Watchdog_Per_CPU_remove_ticks( &api->Sporadic.Timer );<br>
366       _POSIX_Threads_Sporadic_timer_insert( the_thread, api );<br>
367     <br>
368       _Thread_Wait_release( the_thread, &queue_context );<br>
>>>     CID 1512543:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized element of array "queue_context.Priority.update" when calling "_Thread_Priority_update".<br>
369       _Thread_Priority_update( &queue_context );<br>
370     }<br>
371     <br>
372     static void _POSIX_Threads_Sporadic_budget_callout(<br>
373       Thread_Control *the_thread<br>
374     )<br>
<br>
** CID 1512542:  Memory - corruptions  (OVERRUN)<br>
/bsps/shared/ofw/ofw.c: 233 in rtems_ofw_get_prop()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512542:  Memory - corruptions  (OVERRUN)<br>
/bsps/shared/ofw/ofw.c: 233 in rtems_ofw_get_prop()<br>
227       if (prop == NULL) {<br>
228         return -1;<br>
229       }<br>
230     <br>
231       copy_len = MIN(len, bufsize);<br>
232       _Assert(copy_len <= bufsize);<br>
>>>     CID 1512542:  Memory - corruptions  (OVERRUN)<br>
>>>     Calling "memmove" with "buf" and "copy_len" is suspicious because of the very large index, 4294967168. The index may be due to a negative parameter being interpreted as unsigned.<br>
233       memmove(buf, prop, copy_len);<br>
234     <br>
235       return len;<br>
236     }<br>
237     <br>
238     ssize_t rtems_ofw_get_enc_prop(<br>
<br>
** CID 1512541:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512541:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/libcsupport/src/fchdir.c: 74 in fchdir()<br>
68           st.st_mode,<br>
69           st.st_uid,<br>
70           st.st_gid<br>
71         );<br>
72     <br>
73         if ( access_ok ) {<br>
>>>     CID 1512541:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized value "loc.mt_entry_node.next" when calling "rtems_filesystem_location_clone".<br>
74           rtems_filesystem_location_clone( &loc, &iop->pathinfo );<br>
75         } else {<br>
76           errno = EACCES;<br>
77           rv = -1;<br>
78         }<br>
79       }<br>
<br>
** CID 1512540:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 132 in jffs2_unlink()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512540:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 132 in jffs2_unlink()<br>
126             struct jffs2_sb_info *c = JFFS2_SB_INFO(dir_i->i_sb);<br>
127             struct jffs2_inode_info *dir_f = JFFS2_INODE_INFO(dir_i);<br>
128             struct jffs2_inode_info *dead_f = JFFS2_INODE_INFO(d_inode);<br>
129             int ret;<br>
130     <br>
131             ret = jffs2_do_unlink(c, dir_f, (const char *)d_name,<br>
>>>     CID 1512540:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "time(NULL)" is cast to "uint32_t".<br>
132                                    d_namelen, dead_f, get_seconds());<br>
133             if (dead_f->inocache)<br>
134                     d_inode->i_nlink = dead_f->inocache->pino_nlink;<br>
135             return ret;<br>
136     }<br>
137     /***********************************************************************/<br>
<br>
** CID 1512539:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libmisc/cpuuse/cpuusagetop.c: 146 in print_time()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512539:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libmisc/cpuuse/cpuusagetop.c: 146 in print_time()<br>
140     <br>
141     static int<br>
142     print_time(rtems_cpu_usage_data*    data,<br>
143                const Timestamp_Control* time,<br>
144                const int                length)<br>
145     {<br>
>>>     CID 1512539:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "_Timestamp_Get_seconds(time)" is cast to "uint32_t".<br>
146       uint32_t secs = _Timestamp_Get_seconds( time );<br>
147       uint32_t usecs = _Timestamp_Get_nanoseconds( time ) / TOD_NANOSECONDS_PER_MICROSECOND;<br>
148       int      len = 0;<br>
149     <br>
150       if (secs > 60)<br>
151       {<br>
<br>
** CID 1512538:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512538:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/libcsupport/src/_rename_r.c: 64 in _rename_r()<br>
58       int rv = 0;<br>
59       rtems_filesystem_eval_path_context_t old_ctx;<br>
60       int old_eval_flags = 0;<br>
61       rtems_filesystem_location_info_t old_parentloc;<br>
62       int old_parent_eval_flags = RTEMS_FS_PERMS_WRITE<br>
63         | RTEMS_FS_FOLLOW_HARD_LINK;<br>
>>>     CID 1512538:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized value "old_parentloc.mt_entry_node.next" when calling "rtems_filesystem_eval_path_start_with_parent".<br>
64       const rtems_filesystem_location_info_t *old_currentloc =<br>
65         rtems_filesystem_eval_path_start_with_parent(<br>
66           &old_ctx,<br>
67           old,<br>
68           old_eval_flags,<br>
69           &old_parentloc,<br>
<br>
** CID 1512537:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 285 in jffs2_mknod()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512537:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 285 in jffs2_mknod()<br>
279             rd->totlen = cpu_to_je32(sizeof(*rd) + d_namelen);<br>
280             rd->hdr_crc = cpu_to_je32(crc32(0, rd, sizeof(struct jffs2_unknown_node)-4));<br>
281     <br>
282             rd->pino = cpu_to_je32(dir_i->i_ino);<br>
283             rd->version = cpu_to_je32(++dir_f->highest_version);<br>
284             rd->ino = cpu_to_je32(inode->i_ino);<br>
>>>     CID 1512537:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "time(NULL)" is cast to "__u32".<br>
285             rd->mctime = cpu_to_je32(get_seconds());<br>
286             rd->nsize = d_namelen;<br>
287     <br>
288             /* XXX: This is ugly. */<br>
289             rd->type = (mode & S_IFMT) >> 12;<br>
290     <br>
<br>
** CID 1512536:  Memory - corruptions  (OVERRUN)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512536:  Memory - corruptions  (OVERRUN)<br>
/cpukit/posix/src/pthreadcreate.c: 257 in pthread_create()<br>
251         return EAGAIN;<br>
252       }<br>
253     <br>
254       /*<br>
255        *  Initialize the core thread for this task.<br>
256        */<br>
>>>     CID 1512536:  Memory - corruptions  (OVERRUN)<br>
>>>     Calling "_Thread_Initialize" with "config.stack_area" and "config.stack_size" is suspicious because of the very large index, 4294967295. The index may be due to a negative parameter being interpreted as unsigned.<br>
257       status = _Thread_Initialize(<br>
258         &_POSIX_Threads_Information,<br>
259         the_thread,<br>
260         &config<br>
261       );<br>
262       if ( status != STATUS_SUCCESSFUL ) {<br>
<br>
** CID 1512535:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/mghttpd/mongoose.c: 2608 in send_authorization_request()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512535:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/mghttpd/mongoose.c: 2608 in send_authorization_request()<br>
2602       mg_printf(conn,<br>
2603                 "HTTP/1.1 401 Unauthorized\r\n"<br>
2604                 "Content-Length: 0\r\n"<br>
2605                 "WWW-Authenticate: Digest qop=\"auth\", "<br>
2606                 "realm=\"%s\", nonce=\"%lu\"\r\n\r\n",<br>
2607                 conn->ctx->config[AUTHENTICATION_DOMAIN],<br>
>>>     CID 1512535:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "time(NULL)" is cast to "unsigned long".<br>
2608                 (unsigned long) time(NULL));<br>
2609     }<br>
2610     <br>
2611     static int is_authorized_for_put(struct mg_connection *conn) {<br>
2612       struct file file = STRUCT_FILE_INITIALIZER;<br>
2613       const char *passfile = conn->ctx->config[PUT_DELETE_PASSWORDS_FILE];<br>
<br>
** CID 1512534:  Memory - illegal accesses  (UNINIT)<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512534:  Memory - illegal accesses  (UNINIT)<br>
/cpukit/libcsupport/src/printertask.c: 219 in rtems_printer_task_drain()<br>
213       printer_task_buffer buffer;<br>
214     <br>
215       rtems_chain_initialize_node( &buffer.node );<br>
216       buffer.action_kind = ACTION_DRAIN;<br>
217       buffer.action_data.task = rtems_task_self();<br>
218     <br>
>>>     CID 1512534:  Memory - illegal accesses  (UNINIT)<br>
>>>     Using uninitialized value "buffer.node.next" when calling "printer_task_append_buffer".<br>
219       printer_task_append_buffer( ctx, &ctx->todo_buffers, &buffer );<br>
220       rtems_event_send( ctx->task, PRINT_TASK_WAKE_UP );<br>
221       rtems_event_transient_receive( RTEMS_WAIT, RTEMS_NO_TIMEOUT );<br>
<br>
** CID 1512533:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 385 in jffs2_rename()<br>
<br>
<br>
________________________________________________________________________________________________________<br>
*** CID 1512533:  High impact quality  (Y2K38_SAFETY)<br>
/cpukit/libfs/src/jffs2/src/dir-rtems.c: 385 in jffs2_rename()<br>
379             /* Make a hard link */<br>
380     <br>
381             /* XXX: This is ugly */<br>
382             type = (d_inode->i_mode & S_IFMT) >> 12;<br>
383             if (!type) type = DT_REG;<br>
384     <br>
>>>     CID 1512533:  High impact quality  (Y2K38_SAFETY)<br>
>>>     A "time_t" value is stored in an integer with too few bits to accommodate it.  The expression "time(NULL)" is cast to "uint32_t".<br>
385             now = get_seconds();<br>
386             ret = jffs2_do_link(c, JFFS2_INODE_INFO(new_dir_i),<br>
387                                 d_inode->i_ino, type,<br>
388                                 (const char *)new_d_name,<br>
389                                 new_d_namelen, now);<br>
390     <br>
<br>
<br>
________________________________________________________________________________________________________<br>
To view the defects in Coverity Scan visit, <a href="https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypUUzi-2FdSNmuyRB7BEFT8xQ4-2B8hpujh0hTgQljRGId4Dg-3D-3DkGkW_EU3W9teASMK00lBXX9WT4lsogDrkCcNZLvg-2FVxwAXMrOEZN-2BLUspARgYtiBqgHjzYVpaMXnc-2BLCLwhp1aWEHLF62YhIqEogAZ1zLsjPeB26DwhbGlA7CD9U7GFZ3MPXT9E7SOH6ZheIR0qSxbzkw5LrJaANPQMkrFAZ0WSxupw6q8aKgrnyDCRc3ulhtIN0qN1ay-2FBjeF29FT-2BfQMJgbJQ-3D-3D" rel="noreferrer" target="_blank">https://u15810271.ct.sendgrid.net/ls/click?upn=HRESupC-2F2Czv4BOaCWWCy7my0P0qcxCbhZ31OYv50ypUUzi-2FdSNmuyRB7BEFT8xQ4-2B8hpujh0hTgQljRGId4Dg-3D-3DkGkW_EU3W9teASMK00lBXX9WT4lsogDrkCcNZLvg-2FVxwAXMrOEZN-2BLUspARgYtiBqgHjzYVpaMXnc-2BLCLwhp1aWEHLF62YhIqEogAZ1zLsjPeB26DwhbGlA7CD9U7GFZ3MPXT9E7SOH6ZheIR0qSxbzkw5LrJaANPQMkrFAZ0WSxupw6q8aKgrnyDCRc3ulhtIN0qN1ay-2FBjeF29FT-2BfQMJgbJQ-3D-3D</a><br>
<br>
_______________________________________________<br>
build mailing list<br>
<a href="mailto:build@rtems.org" target="_blank">build@rtems.org</a><br>
<a href="http://lists.rtems.org/mailman/listinfo/build" rel="noreferrer" target="_blank">http://lists.rtems.org/mailman/listinfo/build</a><br>
</div></div></div>