=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/ssh/Attic/bufaux.c,v retrieving revision 1.36.2.2 retrieving revision 1.46 diff -u -r1.36.2.2 -r1.46 --- src/usr.bin/ssh/Attic/bufaux.c 2006/10/06 03:19:32 1.36.2.2 +++ src/usr.bin/ssh/Attic/bufaux.c 2008/06/10 23:21:34 1.46 @@ -1,4 +1,4 @@ -/* $OpenBSD: bufaux.c,v 1.36.2.2 2006/10/06 03:19:32 brad Exp $ */ +/* $OpenBSD: bufaux.c,v 1.46 2008/06/10 23:21:34 dtucker Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -178,7 +178,7 @@ return (NULL); } /* Append a null character to make processing easier. */ - value[len] = 0; + value[len] = '\0'; /* Optionally return the length of the string. */ if (length_ptr) *length_ptr = len; @@ -193,6 +193,22 @@ if ((ret = buffer_get_string_ret(buffer, length_ptr)) == NULL) fatal("buffer_get_string: buffer error"); return (ret); +} + +void * +buffer_get_string_ptr(Buffer *buffer, u_int *length_ptr) +{ + void *ptr; + u_int len; + + len = buffer_get_int(buffer); + if (len > 256 * 1024) + fatal("buffer_get_string_ptr: bad string length %u", len); + ptr = buffer_ptr(buffer); + buffer_consume(buffer, len); + if (length_ptr) + *length_ptr = len; + return (ptr); } /*