Patchwork [1/2] Error: STRING_NULL

login
register
mail settings
Submitter Jiri Popelka
Date Oct. 2, 2013, 8:43 a.m.
Message ID <1380703418-3067-2-git-send-email-jpopelka@redhat.com>
Download mbox | patch
Permalink /patch/279671/
State Awaiting Upstream
Headers show

Comments

Jiri Popelka - Oct. 2, 2013, 8:43 a.m.
From: Jaromír Končický <jkoncick@redhat.com>

arptables-v0.0.4/arptables.c:1671: string_null_argument: Function "read(int, void *, size_t)" does not terminate string "*ret".
arptables-v0.0.4/arptables.c:1675: string_null: Passing unterminated string "ret" to "strlen(char const *)", which expects a null-terminated string.
---
 userspace/arptables/arptables.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Patch

diff --git a/userspace/arptables/arptables.c b/userspace/arptables/arptables.c
index 5535ab2..8ef445a 100644
--- a/userspace/arptables/arptables.c
+++ b/userspace/arptables/arptables.c
@@ -1668,10 +1668,12 @@  static char *get_modprobe(void)
 
 	ret = malloc(1024);
 	if (ret) {
-		switch (read(procfile, ret, 1024)) {
+		int read_bytes = read(procfile, ret, 1024);
+		switch (read_bytes) {
 		case -1: goto fail;
 		case 1024: goto fail; /* Partial read.  Wierd */
 		}
+		ret[read_bytes] = '\0';
 		if (ret[strlen(ret)-1]=='\n')
 			ret[strlen(ret)-1]=0;
 		close(procfile);