=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/cvs/rcsnum.c,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** src/usr.bin/cvs/rcsnum.c 2004/07/13 22:02:40 1.1 --- src/usr.bin/cvs/rcsnum.c 2004/07/14 05:08:20 1.2 *************** *** 1,4 **** ! /* $OpenBSD: rcsnum.c,v 1.1 2004/07/13 22:02:40 jfb Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. --- 1,4 ---- ! /* $OpenBSD: rcsnum.c,v 1.2 2004/07/14 05:08:20 vincent Exp $ */ /* * Copyright (c) 2004 Jean-Francois Brousseau * All rights reserved. *************** *** 191,201 **** if (!isdigit(*str)) return (-1); ! nump->rn_id = (u_int16_t *)malloc(sizeof(u_int16_t)); ! if (nump->rn_id == NULL) ! return (-1); nump->rn_len = 0; for (sp = str; ; sp++) { if (!isdigit(*sp) && (*sp != '.')) { --- 191,204 ---- if (!isdigit(*str)) return (-1); ! if (nump->rn_id == NULL) { ! nump->rn_id = (u_int16_t *)malloc(sizeof(u_int16_t)); ! if (nump->rn_id == NULL) ! return (-1); ! } nump->rn_len = 0; + nump->rn_id[nump->rn_len] = 0; for (sp = str; ; sp++) { if (!isdigit(*sp) && (*sp != '.')) { *************** *** 216,221 **** --- 219,225 ---- return (-1); } nump->rn_id = (u_int16_t *)tmp; + nump->rn_id[nump->rn_len] = 0; continue; }