File cpionamesize.diff of Package rpm.3337
--- ./lib/cpio.c.orig 2014-12-10 16:26:53.021827681 +0000
+++ ./lib/cpio.c 2014-12-10 16:31:59.179456740 +0000
@@ -161,7 +161,7 @@ int cpioHeaderRead(FSM_t fsm, struct sta
st->st_rdev = makedev(major, minor);
GET_NUM_FIELD(hdr.namesize, nameSize);
- if (nameSize >= fsm->wrsize)
+ if (nameSize <= 0 || nameSize >= fsm->wrsize)
return CPIOERR_BAD_HEADER;
fsm->wrlen = nameSize;