Sisyphus repositório
Última atualização: 1 outubro 2023 | SRPMs: 18631 | Visitas: 37728873
en ru br
ALT Linux repositórios
S:1.1.6-alt1
5.0: 1.1.2.1-alt4
4.1: 1.1.2.1-alt3
4.0: 1.1.2.1-alt2
3.0: 1.1.2.1-alt1

Group :: Sistema/Bibliotecas
RPM: libnet2

 Main   Changelog   Spec   Patches   Sources   Download   Gear   Bugs e FR  Repocop 

Patch: libnet-1.1.2.1-up-checksum.patch
Download


--- libnet/src/libnet_checksum.c
+++ libnet/src/libnet_checksum.c
@@ -1,5 +1,5 @@
 /*
- *  $Id: libnet_checksum.c,v 1.13 2004/03/01 20:26:12 mike Exp $
+ *  $Id: libnet_checksum.c,v 1.14 2004/11/09 07:05:07 mike Exp $
  *
  *  libnet
  *  libnet_checksum.c - checksum routines
@@ -38,10 +38,16 @@
 #else
 #include "../include/win32/libnet.h"
 #endif
+
 int
 libnet_in_cksum(u_int16_t *addr, int len)
 {
     int sum;
+    union
+    {
+        u_int16_t s;
+        u_int8_t b[2];
+    }pad;
 
     sum = 0;
 
@@ -50,9 +56,12 @@
         sum += *addr++;
         len -= 2;
     }
+
     if (len == 1)
     {
-        sum += *(u_int16_t *)addr;
+        pad.b[0] = *(u_int8_t *)addr;
+        pad.b[1] = 0;
+        sum += pad.s;
     }
 
     return (sum);
 
projeto & código: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
mantenedor atual: Michael Shigorin
mantenedor da tradução: Fernando Martini aka fmartini © 2009