diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-04-10 18:26:22 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2013-04-13 21:39:08 -0700 |
commit | 2cf3ed903048758ee696d410aba6afefd1582dec (patch) | |
tree | 1fb475419cb7773a43ae360867a5bfd469202d4e | |
parent | 0ef550010ad1cb08297951b385c0034010e89a9a (diff) |
Get rid of unnecessary casts in FS*alloc calls
Stop taking 64-bit size_t, truncating to 32-bit unsigned int, and then
putting into a 64-bit size_t argument to underlying *alloc call.
Also stop casting results, since in C, that just hides missing prototype
errors that can cause memory corruption when taking an implicit 32-bit
int return value and trying to make a 64-bit pointer out of it.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | src/FSFontInfo.c | 50 | ||||
-rw-r--r-- | src/FSFtNames.c | 4 | ||||
-rw-r--r-- | src/FSGetCats.c | 5 | ||||
-rw-r--r-- | src/FSListCats.c | 5 | ||||
-rw-r--r-- | src/FSListExt.c | 4 | ||||
-rw-r--r-- | src/FSOpenServ.c | 17 | ||||
-rw-r--r-- | src/FSQGlyphs.c | 11 | ||||
-rw-r--r-- | src/FSQXExt.c | 7 | ||||
-rw-r--r-- | src/FSQXInfo.c | 5 | ||||
-rw-r--r-- | src/FSlibInt.c | 5 |
10 files changed, 47 insertions, 66 deletions
diff --git a/src/FSFontInfo.c b/src/FSFontInfo.c index d9c84b6..fcc91ea 100644 --- a/src/FSFontInfo.c +++ b/src/FSFontInfo.c @@ -134,20 +134,16 @@ FSListFontsWithXInfo( goto badmem; if (fhdr) { - FSXFontInfoHeader **tmp_fhdr = (FSXFontInfoHeader **) - FSrealloc((char *) fhdr, - (unsigned) (sizeof(FSXFontInfoHeader *) * size)); - char **tmp_flist = (char **) FSrealloc((char *) flist, - (unsigned) (sizeof(char *) * size)); - FSPropInfo **tmp_pi = (FSPropInfo **) - FSrealloc((char *) pi, - (unsigned) (sizeof(FSPropInfo *) * size)); - FSPropOffset **tmp_po = (FSPropOffset **) - FSrealloc((char *) po, - (unsigned) (sizeof(FSPropOffset *) * size)); - unsigned char **tmp_pd = (unsigned char **) - FSrealloc((char *) pd, - (unsigned) (sizeof(unsigned char *) * size)); + FSXFontInfoHeader **tmp_fhdr = + FSrealloc(fhdr, sizeof(FSXFontInfoHeader *) * size); + char **tmp_flist = + FSrealloc(flist, sizeof(char *) * size); + FSPropInfo **tmp_pi = + FSrealloc(pi, sizeof(FSPropInfo *) * size); + FSPropOffset **tmp_po = + FSrealloc(po, sizeof(FSPropOffset *) * size); + unsigned char **tmp_pd = + FSrealloc(pd, sizeof(unsigned char *) * size); if (!tmp_fhdr || !tmp_flist || !tmp_pi || !tmp_po || !tmp_pd) { for (j = (i - 1); j >= 0; j--) { @@ -185,29 +181,24 @@ FSListFontsWithXInfo( po = tmp_po; pd = tmp_pd; } else { - if (!(fhdr = (FSXFontInfoHeader **) - FSmalloc((unsigned) (sizeof(FSXFontInfoHeader *) * size)))) + if (!(fhdr = FSmalloc(sizeof(FSXFontInfoHeader *) * size))) goto clearwire; - if (!(flist = (char **) - FSmalloc((unsigned) (sizeof(char *) * size)))) { + if (!(flist = FSmalloc(sizeof(char *) * size))) { FSfree((char *) fhdr); goto clearwire; } - if (!(pi = (FSPropInfo **) - FSmalloc((unsigned) (sizeof(FSPropInfo *) * size)))) { + if (!(pi = FSmalloc(sizeof(FSPropInfo *) * size))) { FSfree((char *) fhdr); FSfree((char *) flist); goto clearwire; } - if (!(po = (FSPropOffset **) - FSmalloc((unsigned) (sizeof(FSPropOffset *) * size)))) { + if (!(po = FSmalloc(sizeof(FSPropOffset *) * size))) { FSfree((char *) fhdr); FSfree((char *) flist); FSfree((char *) pi); goto clearwire; } - if (!(pd = (unsigned char **) - FSmalloc((unsigned) (sizeof(unsigned char *) * size)))) { + if (!(pd = FSmalloc(sizeof(unsigned char *) * size))) { FSfree((char *) fhdr); FSfree((char *) flist); FSfree((char *) pi); @@ -216,14 +207,14 @@ FSListFontsWithXInfo( } } } - fhdr[i] = (FSXFontInfoHeader *) FSmalloc(sizeof(FSXFontInfoHeader)); + fhdr[i] = FSmalloc(sizeof(FSXFontInfoHeader)); if (!fhdr[i]) { goto badmem; } FSUnpack_XFontInfoHeader(&reply, fhdr[i], FSProtocolVersion(svr)); /* alloc space for the name */ - flist[i] = (char *) FSmalloc((unsigned int) (reply.nameLength + 1)); + flist[i] = FSmalloc(reply.nameLength + 1); if (FSProtocolVersion(svr) == 1) { /* get the name */ @@ -236,7 +227,7 @@ FSListFontsWithXInfo( flist[i][reply.nameLength] = '\0'; } - pi[i] = (FSPropInfo *) FSmalloc(sizeof(FSPropInfo)); + pi[i] = FSmalloc(sizeof(FSPropInfo)); if (!pi[i]) { FSfree((char *) fhdr[i]); goto badmem; @@ -250,14 +241,13 @@ FSListFontsWithXInfo( goto badmem; #endif - po[i] = (FSPropOffset *) - FSmalloc(pi[i]->num_offsets * sizeof(FSPropOffset)); + po[i] = FSmalloc(pi[i]->num_offsets * sizeof(FSPropOffset)); if (!po[i]) { FSfree((char *) fhdr[i]); FSfree((char *) pi[i]); goto badmem; } - pd[i] = (unsigned char *) FSmalloc(pi[i]->data_len); + pd[i] = FSmalloc(pi[i]->data_len); if (!pd[i]) { FSfree((char *) fhdr[i]); FSfree((char *) pi[i]); diff --git a/src/FSFtNames.c b/src/FSFtNames.c index 9624205..470c176 100644 --- a/src/FSFtNames.c +++ b/src/FSFtNames.c @@ -85,9 +85,9 @@ FSListFonts( && rep.length <= (SIZE_MAX >> 2) #endif ) { - flist = (char **) FSmalloc((unsigned) rep.nFonts * sizeof(char *)); + flist = FSmalloc(rep.nFonts * sizeof(char *)); rlen = (rep.length << 2) - SIZEOF(fsListFontsReply); - c = (char *) FSmalloc((unsigned) (rlen + 1)); + c = FSmalloc(rlen + 1); if ((!flist) || (!c)) { if (flist) diff --git a/src/FSGetCats.c b/src/FSGetCats.c index 8c5e32b..e009add 100644 --- a/src/FSGetCats.c +++ b/src/FSGetCats.c @@ -79,10 +79,9 @@ FSGetCatalogues( && rep.length <= (SIZE_MAX >> 2) #endif ) { - list = (char **) - FSmalloc((unsigned) (rep.num_catalogues * sizeof(char *))); + list = FSmalloc(rep.num_catalogues * sizeof(char *)); rlen = (rep.length << 2) - SIZEOF(fsGetCataloguesReply); - c = (char *) FSmalloc((unsigned) rlen + 1); + c = FSmalloc(rlen + 1); if ((!list) || (!c)) { if (list) FSfree((char *) list); diff --git a/src/FSListCats.c b/src/FSListCats.c index 3474cda..d27f211 100644 --- a/src/FSListCats.c +++ b/src/FSListCats.c @@ -85,10 +85,9 @@ FSListCatalogues( && rep.length <= (SIZE_MAX>>2) #endif ) { - clist = (char **) - FSmalloc((unsigned) rep.num_catalogues * sizeof(char *)); + clist = FSmalloc(rep.num_catalogues * sizeof(char *)); rlen = (rep.length << 2) - SIZEOF(fsListCataloguesReply); - c = (char *) FSmalloc((unsigned) (rlen + 1)); + c = FSmalloc(rlen + 1); if ((!clist) || (!c)) { if (clist) diff --git a/src/FSListExt.c b/src/FSListExt.c index abe1472..ca4254e 100644 --- a/src/FSListExt.c +++ b/src/FSListExt.c @@ -79,9 +79,9 @@ FSListExtensions( && rep.length <= (SIZE_MAX>>2) #endif ) { - list = (char **) FSmalloc((unsigned)(rep.nExtensions * sizeof(char *))); + list = FSmalloc(rep.nExtensions * sizeof(char *)); rlen = (rep.length << 2) - SIZEOF(fsListExtensionsReply); - c = (char *) FSmalloc((unsigned) rlen + 1); + c = FSmalloc(rlen + 1); if ((!list) || (!c)) { if (list) FSfree((char *) list); diff --git a/src/FSOpenServ.c b/src/FSOpenServ.c index 32f7d25..31f4c86 100644 --- a/src/FSOpenServ.c +++ b/src/FSOpenServ.c @@ -124,13 +124,12 @@ FSOpenServer(const char *server) } } - if ((svr = (FSServer *) FScalloc(1, sizeof(FSServer))) == NULL) { + if ((svr = FScalloc(1, sizeof(FSServer))) == NULL) { errno = ENOMEM; return (FSServer *) NULL; } - if ((svr->server_name = FSmalloc((unsigned) (strlen(server) + 1))) - == NULL) { + if ((svr->server_name = FSmalloc(strlen(server) + 1)) == NULL) { goto fail; } (void) strcpy(svr->server_name, server); @@ -159,7 +158,7 @@ FSOpenServer(const char *server) setuplength = prefix.alternate_len << 2; if (setuplength > (SIZE_MAX>>2) || (alt_data = (char *) - (setup = FSmalloc((unsigned) setuplength))) == NULL) { + (setup = FSmalloc(setuplength))) == NULL) { goto fail; } _FSRead(svr, (char *) alt_data, setuplength); @@ -171,15 +170,14 @@ FSOpenServer(const char *server) } #endif - alts = (AlternateServer *) - FSmalloc(sizeof(AlternateServer) * prefix.num_alternates); + alts = FSmalloc(sizeof(AlternateServer) * prefix.num_alternates); if (!alts) { goto fail; } for (i = 0; i < prefix.num_alternates; i++) { alts[i].subset = (Bool) *ad++; altlen = (int) *ad++; - alts[i].name = (char *) FSmalloc(altlen + 1); + alts[i].name = FSmalloc(altlen + 1); if (!alts[i].name) { while (--i) { FSfree((char *) alts[i].name); @@ -199,7 +197,7 @@ FSOpenServer(const char *server) setuplength = prefix.auth_len << 2; if (setuplength > (SIZE_MAX>>2) || (auth_data = (char *) - (setup = FSmalloc((unsigned) setuplength))) == NULL) { + (setup = FSmalloc(setuplength))) == NULL) { goto fail; } _FSRead(svr, (char *) auth_data, setuplength); @@ -212,8 +210,7 @@ FSOpenServer(const char *server) /* get rest */ _FSRead(svr, (char *) &conn, (long) SIZEOF(fsConnSetupAccept)); - if ((vendor_string = (char *) - FSmalloc((unsigned) conn.vendor_len + 1)) == NULL) { + if ((vendor_string = FSmalloc(conn.vendor_len + 1)) == NULL) { goto fail; } _FSReadPad(svr, (char *) vendor_string, conn.vendor_len); diff --git a/src/FSQGlyphs.c b/src/FSQGlyphs.c index bf3c3b2..9fbe2f4 100644 --- a/src/FSQGlyphs.c +++ b/src/FSQGlyphs.c @@ -91,7 +91,7 @@ FSQueryXBitmaps8( return FSBadAlloc; #endif - offs = (FSOffset *) FSmalloc(sizeof(FSOffset) * reply.num_chars); + offs = FSmalloc(sizeof(FSOffset) * reply.num_chars); *offsets = offs; if (!offs) return FSBadAlloc; @@ -104,7 +104,7 @@ FSQueryXBitmaps8( #endif left = (reply.length << 2) - SIZEOF(fsQueryXBitmaps8Reply) - (SIZEOF(fsOffset32) * reply.num_chars); - gd = (unsigned char *) FSmalloc(left); + gd = FSmalloc(left); *glyphdata = gd; if (!gd) { FSfree((char *) offs); @@ -154,8 +154,7 @@ FSQueryXBitmaps16( if (str_len > SIZE_MAX/SIZEOF(fsChar2b_version1)) return FSBadAlloc; - swapped_str = (fsChar2b_version1 *) - FSmalloc(SIZEOF(fsChar2b_version1) * str_len); + swapped_str = FSmalloc(SIZEOF(fsChar2b_version1) * str_len); if (!swapped_str) return FSBadAlloc; for (i = 0; i < str_len; i++) { @@ -177,7 +176,7 @@ FSQueryXBitmaps16( if(reply.num_chars > SIZE_MAX/sizeof(FSOffset)) return FSBadAlloc; #endif - offs = (FSOffset *) FSmalloc(sizeof(FSOffset) * reply.num_chars); + offs = FSmalloc(sizeof(FSOffset) * reply.num_chars); *offsets = offs; if (!offs) return FSBadAlloc; @@ -190,7 +189,7 @@ FSQueryXBitmaps16( #endif left = (reply.length << 2) - SIZEOF(fsQueryXBitmaps16Reply) - (SIZEOF(fsOffset32) * reply.num_chars); - gd = (unsigned char *) FSmalloc(left); + gd = FSmalloc(left); *glyphdata = gd; if (!gd) { FSfree((char *) offs); diff --git a/src/FSQXExt.c b/src/FSQXExt.c index 9716f9d..e730df5 100644 --- a/src/FSQXExt.c +++ b/src/FSQXExt.c @@ -98,7 +98,7 @@ FSQueryXExtents8( return FSBadAlloc; #endif - ext = (FSXCharInfo *) FSmalloc(sizeof(FSXCharInfo) * reply.num_extents); + ext = FSmalloc(sizeof(FSXCharInfo) * reply.num_extents); *extents = ext; if (!ext) return FSBadAlloc; @@ -135,8 +135,7 @@ FSQueryXExtents16( { fsChar2b_version1 *swapped_str; - swapped_str = (fsChar2b_version1 *) - FSmalloc(SIZEOF(fsChar2b_version1) * str_len); + swapped_str = FSmalloc(SIZEOF(fsChar2b_version1) * str_len); if (!swapped_str) return FSBadAlloc; for (i = 0; i < str_len; i++) { @@ -159,7 +158,7 @@ FSQueryXExtents16( return FSBadAlloc; #endif - ext = (FSXCharInfo *) FSmalloc(sizeof(FSXCharInfo) * reply.num_extents); + ext = FSmalloc(sizeof(FSXCharInfo) * reply.num_extents); *extents = ext; if (!ext) return FSBadAlloc; diff --git a/src/FSQXInfo.c b/src/FSQXInfo.c index 4be9bce..3e3a564 100644 --- a/src/FSQXInfo.c +++ b/src/FSQXInfo.c @@ -98,11 +98,10 @@ FSQueryXInfo( #endif /* prepare for prop data */ - offset_data = (FSPropOffset *) - FSmalloc(props->num_offsets * sizeof(FSPropOffset)); + offset_data = FSmalloc(props->num_offsets * sizeof(FSPropOffset)); if (!offset_data) return FSBadAlloc; - pdata = (unsigned char *) FSmalloc(props->data_len); + pdata = FSmalloc(props->data_len); if (!pdata) { FSfree((char *) offset_data); return FSBadAlloc; diff --git a/src/FSlibInt.c b/src/FSlibInt.c index a04d3cd..0c24f89 100644 --- a/src/FSlibInt.c +++ b/src/FSlibInt.c @@ -846,8 +846,7 @@ _FSEnq( if ((qelt = _FSqfree) != NULL) { /* If _FSqfree is non-NULL do this, else malloc a new one. */ _FSqfree = qelt->next; - } else if ((qelt = - (_FSQEvent *) FSmalloc((unsigned) sizeof(_FSQEvent))) == NULL) { + } else if ((qelt = FSmalloc(sizeof(_FSQEvent))) == NULL) { /* Malloc call failed! */ ESET(ENOMEM); (*_FSIOErrorFunction) (svr); @@ -1105,7 +1104,7 @@ _FSAllocScratch( if (svr->scratch_buffer != NULL) FSfree(svr->scratch_buffer); return (svr->scratch_length = nbytes, - svr->scratch_buffer = FSmalloc((unsigned) nbytes)); + svr->scratch_buffer = FSmalloc(nbytes)); } return (svr->scratch_buffer); } |