[asterisk-commits] mjordan: trunk r433745 - in /trunk: ./ main/stdtime/localtime.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Sun Mar 29 21:29:41 CDT 2015


Author: mjordan
Date: Sun Mar 29 21:29:39 2015
New Revision: 433745

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=433745
Log:
main/stdtime/localtime: Fix warning introduced in r433720

The patch in r433720 caused a warning to be kicked back by gcc. It occurred
due to this check in unistd.h:

    if (__nbytes > __bos0 (__buf))
        return __read_chk_warn (__fd, __buf, __nbytes, __bos0 (__buf));

That is, if __nbytes is greater than the result of GCC's built-in object size
for the struct, we'll kick back a warning.

As it turns out, this is because there is an error in the code in the patch.
We are passing the address of the pointer to the struct, not iev, which is a
pointer to the struct. Hence, the number of bytes is probably going to be lot
larger than the number of bytes that make up a pointer! This patch changes
the code just read from the pointer to the struct - which fixes the warning.

ASTERISK-24917
........

Merged revisions 433743 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 433744 from http://svn.asterisk.org/svn/asterisk/branches/13

Modified:
    trunk/   (props changed)
    trunk/main/stdtime/localtime.c

Propchange: trunk/
------------------------------------------------------------------------------
Binary property 'branch-13-merged' - no diff available.

Modified: trunk/main/stdtime/localtime.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/stdtime/localtime.c?view=diff&rev=433745&r1=433744&r2=433745
==============================================================================
--- trunk/main/stdtime/localtime.c (original)
+++ trunk/main/stdtime/localtime.c Sun Mar 29 21:29:39 2015
@@ -377,7 +377,7 @@
 
 	for (;/*ever*/;) {
 		/* This read should block, most of the time. */
-		if ((res = read(inotify_fd, &iev, real_sizeof_iev)) < sizeof(*iev) && res > 0) {
+		if ((res = read(inotify_fd, iev, real_sizeof_iev)) < sizeof(*iev) && res > 0) {
 			/* This should never happen */
 			ast_log(LOG_ERROR, "Inotify read less than a full event (%zd < %zu)?!!\n", res, sizeof(*iev));
 			break;




More information about the asterisk-commits mailing list