]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
backport a fix from trunk
authorKevin P. Fleming <kpfleming@digium.com>
Tue, 11 Mar 2008 15:18:45 +0000 (15:18 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Tue, 11 Mar 2008 15:18:45 +0000 (15:18 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@107472 65c4cc65-6c06-0410-ace0-fbb531ad65f3

apps/app_rpt.c

index 292dfc6f69edf6c6c2cf5d68fc27cbd53af56289..952fdd0b16b831b17b14f80944d9f754c9ed49f5 100644 (file)
@@ -1646,12 +1646,8 @@ static char *cs_keywords[] = {"rptena","rptdis","apena","apdis","lnkena","lnkdis
        memset(&rpt_vars[n].p,0,sizeof(rpt_vars[n].p));
        if (init)
        {
-               char *cp;
-               int savearea = (char *)&rpt_vars[n].p - (char *)&rpt_vars[n];
-
-               cp = (char *) &rpt_vars[n].p;
-               memset(cp + sizeof(rpt_vars[n].p),0,
-                       sizeof(rpt_vars[n]) - (sizeof(rpt_vars[n].p) + savearea));
+               /* clear all the fields in the structure after 'p' */
+               memset(&rpt_vars[n].p + sizeof(rpt_vars[0].p), 0, sizeof(rpt_vars[0]) - sizeof(rpt_vars[0].p) - offsetof(typeof(rpt_vars[0]), p));
                rpt_vars[n].tele.next = &rpt_vars[n].tele;
                rpt_vars[n].tele.prev = &rpt_vars[n].tele;
                rpt_vars[n].rpt_thread = AST_PTHREADT_NULL;