Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #149247

Re: Pointer goes to null

From Ben Bacarisse <ben.usenet@bsb.me.uk>
Newsgroups comp.lang.c
Subject Re: Pointer goes to null
Date 2020-01-17 23:25 +0000
Organization A noiseless patient Spider
Message-ID <87k15pbr8z.fsf@bsb.me.uk> (permalink)
References (3 earlier) <qv2erl$jp2$1@dont-email.me> <qv2fm6$n8m$1@dont-email.me> <1bab6894-09d3-41e5-8a79-f068db00b0d8@googlegroups.com> <87lfq8ftxs.fsf@bsb.me.uk> <6dcdcd64-5764-4dbc-936e-eb704d374443@googlegroups.com>

Show all headers | View raw


m.nasim85@gmail.com writes:

>> but that does not give blk_cnt == 1 when data_bitlen == 0.  Do you
>> really want that?
>> 
> Yes, i want that.
> In an implementation for a hash function, there must be something to
> hash. Try running MD5 or SHA against empty string, and you still have
> output.

With SHA-1 the source bits have the length appended (after some padding)
so there is always something to hash.  The data length being zero is not
a special case.

> In my case, i process a block of all zeros.

I don't know the structure of the rest of the code, but that would imply
the data_bitlen == 0 is a special case requiring more action than
setting a fake block count.  In other words, I'd handle it the top level:

  void hash(const void *data, size_t bit_len, void *output_buffer)
  {
      static char zeros[512/CHAR_BIT];
      if (len == 0)
          hash(zeros, 512, output_buffer);
      else {
          ...
      }
  }

Anyway, if setting a block count of 1 when the bit length is 0 works
with the rest of the code there's no point in changing it.

> May be this is not the most ideal method to implement the hashing
> function. however, it still works.

It does seem odd.  You've set up two known inputs with the same hash
which is usually considered a bad idea, but it may not matter for your
usage.

-- 
Ben.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Pointer goes to null m.nasim85@gmail.com - 2020-01-02 01:34 -0800
  Re: Pointer goes to null Jorgen Grahn <grahn+nntp@snipabacken.se> - 2020-01-02 12:47 +0000
  Re: Pointer goes to null Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-01-02 08:55 -0500
    Re: Pointer goes to null Bart <bc@freeuk.com> - 2020-01-02 18:49 +0000
      UB awaits... (Was: Pointer goes to null) gazelle@shell.xmission.com (Kenny McCormack) - 2020-01-02 19:53 +0000
        Re: UB awaits... (Was: Pointer goes to null) David Brown <david.brown@hesbynett.no> - 2020-01-02 23:34 +0100
          Re: UB awaits... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-03 01:43 +0000
            Re: UB awaits... David Brown <david.brown@hesbynett.no> - 2020-01-03 09:50 +0100
              Re: UB awaits... Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-03 14:30 +0000
                Re: UB awaits... David Brown <david.brown@hesbynett.no> - 2020-01-03 17:27 +0100
  Re: Pointer goes to null Bart <bc@freeuk.com> - 2020-01-02 14:07 +0000
    Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-02 07:29 -0800
      Re: Pointer goes to null Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-01-02 10:12 -0800
  Re: Pointer goes to null jak <nospam@please.ty> - 2020-01-02 16:46 +0100
  Re: Pointer goes to null Barry Schwarz <schwarzb@delq.com> - 2020-01-02 08:50 -0800
    Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-03 16:20 -0800
      Re: Pointer goes to null Barry Schwarz <schwarzb@delq.com> - 2020-01-03 22:16 -0800
        Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-07 03:21 -0800
      Re: Pointer goes to null Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-01-07 12:24 -0500
        Re: Pointer goes to null Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-01-07 12:38 -0500
          Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-15 09:36 -0800
            Re: Pointer goes to null Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-15 18:36 +0000
              Re: Pointer goes to null Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-01-15 17:31 -0500
                Re: Pointer goes to null Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-16 02:20 +0000
                Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-17 14:51 -0800
                Re: Pointer goes to null Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-17 23:32 +0000
              Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-17 14:47 -0800
                Re: Pointer goes to null Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-01-17 23:25 +0000
            Re: Pointer goes to null James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-01-15 10:49 -0800
              Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-17 14:49 -0800
        Re: Pointer goes to null Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-01-07 09:42 -0800
          Re: Pointer goes to null m.nasim85@gmail.com - 2020-01-15 09:40 -0800
  Re: Pointer goes to null James Kuyper <jameskuyper@alumni.caltech.edu> - 2020-01-02 22:38 -0500

csiph-web