projects
/
yaz-moved-to-github.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
834b8cc
)
When BER decoding a null byte is appended to the OCTET buffer.
author
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 26 Jun 2001 12:14:15 +0000
(12:14 +0000)
committer
Adam Dickmeiss
<adam@indexdata.dk>
Tue, 26 Jun 2001 12:14:15 +0000
(12:14 +0000)
odr/ber_oct.c
patch
|
blob
|
history
diff --git
a/odr/ber_oct.c
b/odr/ber_oct.c
index
898ad4d
..
3c1cfd6
100644
(file)
--- a/
odr/ber_oct.c
+++ b/
odr/ber_oct.c
@@
-1,10
+1,13
@@
/*
/*
- * Copyright (c) 1995-2000, Index Data
+ * Copyright (c) 1995-2001, Index Data
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ber_oct.c,v $
* See the file LICENSE for details.
* Sebastian Hammer, Adam Dickmeiss
*
* $Log: ber_oct.c,v $
- * Revision 1.16 2000-02-29 13:44:55 adam
+ * Revision 1.17 2001-06-26 12:14:15 adam
+ * When BER decoding a null byte is appended to the OCTET buffer.
+ *
+ * Revision 1.16 2000/02/29 13:44:55 adam
* Check for config.h (currently not generated).
*
* Revision 1.15 2000/01/31 13:15:21 adam
* Check for config.h (currently not generated).
*
* Revision 1.15 2000/01/31 13:15:21 adam
@@
-96,11
+99,19
@@
int ber_octetstring(ODR o, Odr_oct *p, int cons)
{
c = (unsigned char *)odr_malloc(o, p->size += len + 1);
if (p->len)
{
c = (unsigned char *)odr_malloc(o, p->size += len + 1);
if (p->len)
+ {
memcpy(c, p->buf, p->len);
memcpy(c, p->buf, p->len);
+ /* the final null is really not part of the buffer, but */
+ /* it saves somes applications that assumes C strings */
+ c[p->len] = '\0';
+ }
p->buf = c;
}
if (len)
p->buf = c;
}
if (len)
+ {
memcpy(p->buf + p->len, o->bp, len);
memcpy(p->buf + p->len, o->bp, len);
+ p->buf[p->len] = '\0'; /* make it a C string, just in case */
+ }
p->len += len;
o->bp += len;
return 1;
p->len += len;
o->bp += len;
return 1;