Re: get a segmentation fault when starting vdr (backtrace included)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 30, 2012 at 11:00:52AM +0100, Dieter Bloms wrote:
> 
> I changed it this way:
> 
> --snip--
>   32 bool tComponent::FromString(const char *s)
>   33 {
>   34   unsigned int Stream, Type;
>   35   description = NULL;
>   36   int n = sscanf(s, "%X %02X %7s %a[^\n]", &Stream, &Type, language, &description); // 7 = MAXLANGCODE2 - 1
>   37   esyslog("dbloms: \"%X\" \"%02X\" \"%7s\" \"%a\"", Stream, Type, language, description);
>   38 
>   39   if (n != 4 || isempty(description)) {
>   40      free(description);
>   41      description = NULL;
>   42      }
>   43   stream = Stream;
>   44   type = Type;
>   45   return n >= 3;
>   46 }
> --snip--

IMHO the %a should become %s in esyslog() whereas in sscanf() the %a should become %as
for the GNU extension of dynamically allocating string conversions.

     Werner

-- 
  "Having a smoking section in a restaurant is like having
          a peeing section in a swimming pool." -- Edward Burr

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr


[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux