projects
/
claws.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
4f5b047
)
Fix buffer overrun
author
Michael Rasmussen
<mir@datanom.net>
Fri, 9 Oct 2015 17:06:57 +0000
(19:06 +0200)
committer
Michael Rasmussen
<mir@datanom.net>
Fri, 9 Oct 2015 17:06:57 +0000
(19:06 +0200)
src/plugins/clamd/libclamd/clamd-plugin.c
patch
|
blob
|
history
diff --git
a/src/plugins/clamd/libclamd/clamd-plugin.c
b/src/plugins/clamd/libclamd/clamd-plugin.c
index 5f58cfad97ff468ac35ba563f34d8200c56f7701..dd6148121753243b55f6b822e27ebc4380af5b19 100644
(file)
--- a/
src/plugins/clamd/libclamd/clamd-plugin.c
+++ b/
src/plugins/clamd/libclamd/clamd-plugin.c
@@
-369,6
+369,7
@@
Clamd_Stat clamd_init(Clamd_Socket* config) {
}
memset(buf, '\0', sizeof(buf));
while ((n_read = read(sock, buf, BUFSIZ)) > 0) {
+ n_read = n_read < BUFSIZ ? n_read : BUFSIZ - 1;
buf[n_read] = '\0';
if (buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = '\0';
@@
-526,6
+527,7
@@
Clamd_Stat clamd_verify_email(const gchar* path, response* result) {
g_free(command);
memset(buf, '\0', sizeof(buf));
while ((n_read = read(sock, buf, BUFSIZ)) > 0) {
+ n_read = n_read < BUFSIZ ? n_read : BUFSIZ - 1;
buf[n_read] = '\0';
if (buf[strlen(buf) - 1] == '\n')
buf[strlen(buf) - 1] = '\0';