=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/rcsnum.c,v retrieving revision 1.53 retrieving revision 1.54 diff -c -r1.53 -r1.54 *** src/usr.bin/cvs/rcsnum.c 2008/05/22 07:03:02 1.53 --- src/usr.bin/cvs/rcsnum.c 2012/07/02 21:56:25 1.54 *************** *** 1,4 **** ! /* $OpenBSD: rcsnum.c,v 1.53 2008/05/22 07:03:02 joris Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcsnum.c,v 1.54 2012/07/02 21:56:25 tedu Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 42,50 **** { RCSNUM *rnp; ! rnp = xmalloc(sizeof(*rnp)); rnp->rn_len = 0; - rnp->rn_id = NULL; return (rnp); } --- 42,49 ---- { RCSNUM *rnp; ! rnp = xcalloc(1, sizeof(*rnp)); rnp->rn_len = 0; return (rnp); } *************** *** 95,102 **** void rcsnum_free(RCSNUM *rn) { - if (rn->rn_id != NULL) - xfree(rn->rn_id); xfree(rn); } --- 94,99 ---- *************** *** 130,136 **** strlcat(buf, str, blen) >= blen) fatal("rcsnum_tostr: truncation"); } - return (buf); } --- 127,132 ---- *************** *** 169,177 **** len = depth; rcsnum_setsize(ndst, len); ! /* Overflow checked in rcsnum_setsize(). */ ! (void)memcpy(ndst->rn_id, nsrc->rn_id, ! len * sizeof(*(nsrc->rn_id))); } /* --- 165,171 ---- len = depth; rcsnum_setsize(ndst, len); ! memcpy(ndst->rn_id, nsrc->rn_id, len * sizeof(*(nsrc->rn_id))); } /* *************** *** 235,243 **** const char *sp; char *s; - if (nump->rn_id == NULL) - nump->rn_id = xmalloc(sizeof(*(nump->rn_id))); - nump->rn_len = 0; nump->rn_id[0] = 0; --- 229,234 ---- *************** *** 250,257 **** goto rcsnum_aton_failed; nump->rn_len++; - nump->rn_id = xrealloc(nump->rn_id, - nump->rn_len + 1, sizeof(*(nump->rn_id))); nump->rn_id[nump->rn_len] = 0; continue; } --- 241,246 ---- *************** *** 312,319 **** /* We can't have a single-digit rcs number. */ if (nump->rn_len == 0) { nump->rn_len++; - nump->rn_id = xrealloc(nump->rn_id, - nump->rn_len + 1, sizeof(*(nump->rn_id))); nump->rn_id[nump->rn_len] = 0; } --- 301,306 ---- *************** *** 322,329 **** rcsnum_aton_failed: nump->rn_len = 0; - xfree(nump->rn_id); - nump->rn_id = NULL; return (-1); } --- 309,314 ---- *************** *** 439,445 **** static void rcsnum_setsize(RCSNUM *num, u_int len) { - num->rn_id = xrealloc(num->rn_id, len, sizeof(*(num->rn_id))); num->rn_len = len; } --- 424,429 ----